java課程設(shè)計(jì)課程設(shè)計(jì)報告11_第1頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Java程序設(shè)計(jì)課程設(shè)計(jì)莆田學(xué)院新工科產(chǎn)業(yè)學(xué)院課 程 設(shè) 計(jì)課程名稱:Java 程序設(shè)計(jì)題 目:計(jì)算器202 年 月 日概述 運(yùn)算器的界面制作:這個簡單計(jì)算器設(shè)計(jì)是通過兩個面板的疊加做出的界面。 計(jì)算器的功能實(shí)現(xiàn):在界面上添加按鈕,并通過按鈕來進(jìn)行簡易計(jì)算器的加、減、乘、除等基本運(yùn)算設(shè)計(jì)任務(wù)及要求利用 Java 開發(fā)一個可以進(jìn)行簡單的四則運(yùn)算的圖形化計(jì)算器,主程序所在的類名必須為CalculatorXXX(XXX為學(xué)號末3位)。參考界面設(shè)計(jì)圖如下,允許根據(jù)功能自行設(shè)計(jì)界面。 2、要求計(jì)算器至少能夠?qū)崿F(xiàn)基本的加減乘除運(yùn)算和清空功能。3、Clear按鈕用于實(shí)現(xiàn)全部輸入的清空操作,直接將顯示置零。4

2、、請自行添加擴(kuò)展功能。5、提交項(xiàng)目工程文件及打包發(fā)布的.jar或.exe6、提交課程設(shè)計(jì)報告。設(shè)計(jì)方案首先設(shè)計(jì)輸入輸出框,按鈕并初始化窗體,設(shè)置窗體位置,設(shè)置顯示內(nèi)容窗格,然后設(shè)計(jì)計(jì)算,當(dāng)按鈕點(diǎn)擊命令按下等于則執(zhí)行計(jì)算,按下運(yùn)算符則格式為:空格+運(yùn)算符+空格;按下數(shù)字,則直接拼接,最后計(jì)算字符串時,根據(jù)空格進(jìn)行分割成字符串?dāng)?shù)組,判斷是那種類型的運(yùn)算符并進(jìn)行計(jì)算,再通過一個result來存放最終結(jié)果。public class Expleme_1 private String str=;/輸入輸出框內(nèi)容 private JTextField text_input;/輸出框 private JPan

3、el jp_bottomArea;/按鈕區(qū)域 private String addsButtonString=1,2,3,+,4,5,6,-,7,8,9,*,.,0,求根,/,=,取反,AC; public Expleme_1() /初始化窗體 JFrame frame=new JFrame(計(jì)算器); Container c=frame.getContentPane(); c.setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS);/設(shè)置排布方式為Y軸排列 frame.setLocation(200,300);/設(shè)置

4、位置 frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); text_input=new JTextField(30); text_input.setHorizontalAlignment(JTextField.RIGHT); JPanel jPanel=new JPanel(new GridLayout(1,1,10,10); jPanel.add(text_input); c.add(jPanel); GridBagLayout gridBagLayout=new GridBagLayou

5、t(); GridBagConstraints cs=new GridBagConstraints(); jp_bottomArea=new JPanel(); jp_bottomArea.setLayout(gridBagLayout); for(int i=0;i String command = e.getActionCommand(); setShowTextFiledNew(command); ); jp_bottomArea.add(btn); c.add(jp_bottomArea); frame.pack(); /* * 設(shè)置顯示內(nèi)容窗格 * param command 按鈕點(diǎn)

6、擊命令 * 如果按下等于,則執(zhí)行計(jì)算 * 如果按下運(yùn)算符,則格式為 空格+運(yùn)算符+空格 * 如果按下時數(shù)字,則直接拼接 * */ public void setShowTextFiledNew(String command) if(command.equals(=) str=getResult(str); else if(command.equals(+)|command.equals(-)|command.equals(*)|command.equals(/)|command.equals(求根)|command.equals(取反) str=str+ +command+ ; else if

7、(command.equals(AC) str=; else str=str+command; text_input.setText(str); /* * 計(jì)算 * param str 需要計(jì)算的字符串 * 根據(jù)空格進(jìn)行分割成字符串?dāng)?shù)組 * 然后判斷是哪種類型的運(yùn)算符并進(jìn)行計(jì)算 * 通過一個result來存放最終結(jié)果 * */ public String getResult(String str) Double result=0.0; String need_to_do=str.split( ); for(int i=0;ineed_to_do.length;i+) switch (need_

8、to_doi) case +: result=result+(Double.parseDouble(need_to_doi-1)+Double.parseDouble(need_to_doi+1); break; case -: result=result+(Double.parseDouble(need_to_doi-1)-Double.parseDouble(need_to_doi+1); break; case *: result=result+(Double.parseDouble(need_to_doi-1)*Double.parseDouble(need_to_doi+1); br

9、eak; case /: result=result+(Double.parseDouble(need_to_doi-1)/Double.parseDouble(need_to_doi+1); break; case 求根: result=result+(Math.sqrt(Double.parseDouble(need_to_doi-1); break; case 取反: result=result+(-Double.parseDouble(need_to_doi-1); break; return result+; public static void main(String args) new Expleme_1(); 結(jié)論分析AC按鈕用于實(shí)現(xiàn)全部輸入的清空操作,直接將顯示置零參考文獻(xiàn)格式

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論