《JAVA計(jì)算器》word版
JAVA程序設(shè)計(jì)任 務(wù) 報(bào) 告課設(shè)題目: 計(jì)算器 學(xué)生姓名: 潘天雄 學(xué) 號: 11570122 完成日期: 2013.10.27 成 績: 題目基本要求:編寫一個圖形界面計(jì)算機(jī),具有基本的運(yùn)算功能。流程圖:結(jié)構(gòu)介紹一、Optr類自定義的運(yùn)算符堆棧,用來存放優(yōu)先級低的運(yùn)算符,用以解決運(yùn)算時(shí)的優(yōu)先級問題。包括自定義的出入棧、初始化和棧頂元素返回功能二、Opnd類自定義的操作數(shù)堆棧,用來存放未被運(yùn)算的操作數(shù),用以解決運(yùn)算時(shí)的優(yōu)先級問題。包括自定義的出入棧、初始化和棧頂元素返回功能三、Screen類自定義的label顯示緩存,用來將運(yùn)算結(jié)果和操作符進(jìn)行整理后顯示。提供了初始化、數(shù)據(jù)添加、括號嵌套、整理等功能,使輸出更加符合生活習(xí)慣四、Number類自定義的數(shù)字緩沖區(qū),用來將單個按鈕的數(shù)字與輸入的小數(shù)點(diǎn)進(jìn)行組合使起整理成一個數(shù)字以供之后的運(yùn)算和顯示。此類提供一個判空方法,退格方法,清空方法以及進(jìn)入方法。五、Cal類此類的功能時(shí)描述界面并提供事件監(jiān)聽的方法,同時(shí)包含了程序入口。六、Compute類包含三個功能函數(shù)private char Precee(Optr optr,char c);public char Calculate(Optr optr,char c,Opnd opnd);public double Operate(Optr optr,Opnd opnd);1)private char Precee(Optr optr,char c)此函數(shù)提供了一個優(yōu)先級表,將緩沖區(qū)的運(yùn)算符與運(yùn)算符棧棧頂?shù)倪\(yùn)算符做優(yōu)先級比較,并返回優(yōu)先級的比較結(jié)果2)public char Calculate(Optr optr,char c,Opnd opnd);此函數(shù)是邏輯函數(shù),將輸入的運(yùn)算符進(jìn)行優(yōu)先級查表比較,根據(jù)結(jié)果決定將其入?;蛑苯舆\(yùn)算。3)public double Operate(Optr optr,Opnd opnd);此函數(shù)是運(yùn)算函數(shù),根據(jù)傳遞的運(yùn)算符進(jìn)行相應(yīng)運(yùn)算并返回結(jié)果。附錄:源代碼:一、Optr 類/運(yùn)算符棧public class Optr private int top;/棧頂指針private int maxsize;/棧大小private char array;/數(shù)據(jù)數(shù)組public Optr(int maxsize)this.maxsize=maxsize;top=0;array=new charthis.maxsize;array0='#'/初始化棧 棧底為'#'public void Clean()top=0;array0='#'/重置棧public void Push(char temp)array+this.top=temp;/入棧public char Pop()return arraytop-;/出棧public char GetTop()return arraytop;/返回棧頂 二、Opnd 類/運(yùn)算符棧public class Opnd private int top;/棧頂指針private int maxsize;/棧大小private double array;/數(shù)據(jù)數(shù)組public Opnd(int maxsize)this.maxsize=maxsize;top=0;array=new doublethis.maxsize;/初始化棧public void Clean()top=0;/重置棧public void Push(double temp)array+top=temp;/入棧public double Pop()return arraytop-;/出棧public double GetTop()return arraytop;/返回棧頂5