《《JAVA計算器》word版》由會員分享,可在線閱讀,更多相關(guān)《《JAVA計算器》word版(5頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、JAVA程序設(shè)計任 務(wù) 報 告課設(shè)題目: 計算器 學(xué)生姓名: 潘天雄 學(xué) 號: 11570122 完成日期: 2013.10.27 成 績: 題目基本要求:編寫一個圖形界面計算機,具有基本的運算功能。流程圖:結(jié)構(gòu)介紹一、Optr類自定義的運算符堆棧,用來存放優(yōu)先級低的運算符,用以解決運算時的優(yōu)先級問題。包括自定義的出入棧、初始化和棧頂元素返回功能二、Opnd類自定義的操作數(shù)堆棧,用來存放未被運算的操作數(shù),用以解決運算時的優(yōu)先級問題。包括自定義的出入棧、初始化和棧頂元素返回功能三、Screen類自定義的label顯示緩存,用來將運算結(jié)果和操作符進行整理后顯示。提供了初始化、數(shù)據(jù)添加、括號嵌套、整
2、理等功能,使輸出更加符合生活習慣四、Number類自定義的數(shù)字緩沖區(qū),用來將單個按鈕的數(shù)字與輸入的小數(shù)點進行組合使起整理成一個數(shù)字以供之后的運算和顯示。此類提供一個判空方法,退格方法,清空方法以及進入方法。五、Cal類此類的功能時描述界面并提供事件監(jiān)聽的方法,同時包含了程序入口。六、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 c
3、har Precee(Optr optr,char c)此函數(shù)提供了一個優(yōu)先級表,將緩沖區(qū)的運算符與運算符棧棧頂?shù)倪\算符做優(yōu)先級比較,并返回優(yōu)先級的比較結(jié)果2)public char Calculate(Optr optr,char c,Opnd opnd);此函數(shù)是邏輯函數(shù),將輸入的運算符進行優(yōu)先級查表比較,根據(jù)結(jié)果決定將其入棧或直接運算。3)public double Operate(Optr optr,Opnd opnd);此函數(shù)是運算函數(shù),根據(jù)傳遞的運算符進行相應(yīng)運算并返回結(jié)果。附錄:源代碼:一、Optr 類/運算符棧public class Optr private int top;
4、/棧頂指針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()retur
5、n arraytop;/返回棧頂 二、Opnd 類/運算符棧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