九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

JAVA課程設(shè)計(jì)計(jì)算器

  • 資源ID:23689108       資源大?。?span id="24d9guoke414" class="font-tahoma">134.41KB        全文頁(yè)數(shù):15頁(yè)
  • 資源格式: DOC        下載積分:9.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說(shuō)明有答案則都視為沒有答案,請(qǐng)知曉。

JAVA課程設(shè)計(jì)計(jì)算器

JAVA程序設(shè)計(jì)課程設(shè)計(jì)任務(wù)書一、課程設(shè)計(jì)的目的1、培養(yǎng)學(xué)生面向?qū)ο缶幊痰乃枷耄?、使學(xué)生熟悉JAVA語(yǔ)言的使用;3、培養(yǎng)學(xué)生JAVA編程的思想和方法;4、使學(xué)生掌握J(rèn)AVA編程調(diào)試的基本技能;5、培養(yǎng)學(xué)生分析、解決問題的能力。二、課程設(shè)計(jì)內(nèi)容與要求1、內(nèi)容一:1簡(jiǎn)單計(jì)算器題目描述使用Java的GUI圖形用戶界面編程設(shè)計(jì)并編寫一個(gè)計(jì)算器程序,用戶可以通過(guò)鼠標(biāo)或者鍵盤操作輸入?yún)⒓舆\(yùn)算的數(shù)值和運(yùn)算符,要求能進(jìn)行加、減、乘、除等混合運(yùn)算?;疽髮?shí)現(xiàn)加、減、乘、除的雙目單類別的基礎(chǔ)運(yùn)算;實(shí)現(xiàn)提示GUI編程 Component的事件響應(yīng)。參考界面JAVA程序設(shè)計(jì)課程設(shè)計(jì)一、系統(tǒng)中所使用的數(shù)據(jù)對(duì)象及說(shuō)明1、Calculator類屬性屬性名稱類型描述JmbJMenuBar菜單欄Jm1 jm2 jm3 JMenu 菜單JmiJMenuItem菜單項(xiàng)fJFrame 實(shí)例化對(duì)象Panel1 1JPanel 輸入面板CommandsPanelJPanel 運(yùn)算符面板calckeysPanelJPanel 數(shù)字面板showline JTextField 數(shù)據(jù)輸出框backspace JButton 退格鍵CE JButton 清空C JButton 刪除1/XJButton 取余dao JButton 取倒數(shù)add JButton 數(shù)字相加jian JButton 數(shù)字相減cheng JButton 數(shù)字相乘quzheng JButton 數(shù)字相除dian JButton 點(diǎn)符號(hào)deng JButton 等于號(hào)zero JButton 一one JButton 二two JButton 三three JButton 四four JButton 五five JButton 六six JButton 七seven JButton 八eight JButton 九num1 String保存第一個(gè)運(yùn)算數(shù)字operator String保存運(yùn)算符號(hào)方法方法名稱功能Calculator計(jì)算器布局Add添加組件、面板addMouseListener添加鼠標(biāo)監(jiān)聽事件setJMenuBar設(shè)置菜單2、 系統(tǒng)功能結(jié)構(gòu)及相關(guān)算法描述1、系統(tǒng)功能結(jié)構(gòu) 計(jì)算器按鍵文本框菜單欄標(biāo)題欄1-9、BackspaceCE、C+、-、*、/%、.、1/x=文本框幫助查看編輯標(biāo)題:計(jì)算器關(guān)于計(jì)算器幫助主題數(shù)學(xué)分組科學(xué)型標(biāo)準(zhǔn)型粘貼復(fù)制系統(tǒng)功能結(jié)構(gòu)圖2、 相關(guān)算法流程圖(1)加減法流程N(yùn)Y將S添加到show文本框執(zhí)行加、減法運(yùn)算得出SMun1是否存在(2) 乘除法流程N(yùn)Mun1是否存在Y執(zhí)行乘、除法運(yùn)算得出S將S添加到show文本框(3) 乘方取余法流程Mun1是否存在NY執(zhí)行乘方、取余法運(yùn)算得出S將S添加到show文本框三、系統(tǒng)運(yùn)行結(jié)果(截圖)1、主菜單四、課程設(shè)計(jì)總結(jié)通過(guò)此次課程設(shè)計(jì),使我更加扎實(shí)的掌握了有關(guān)JAVA圖形界面布局等方面的知識(shí),雖然在設(shè)計(jì)過(guò)程中也遇到了很多問題,但經(jīng)過(guò)一次又一次的思考,一遍又一遍檢查和反復(fù)修改終于找到了原因所在,也暴露了前期我在這方面的知識(shí)欠缺。課程設(shè)計(jì)是一種實(shí)踐活動(dòng),不但可以提升專業(yè)知識(shí)和專業(yè)能力,也培養(yǎng)了我們獨(dú)立思考,動(dòng)手操作的能力,使我對(duì)抽象的知識(shí)有了具體的認(rèn)識(shí)。這對(duì)于我們的將來(lái)也有很大的幫助。此次課程設(shè)計(jì)也讓我明白沒有最完善的程序代碼,只有不斷地改善才能使程序變得更完美,同時(shí)也增強(qiáng)了我對(duì)JAVA的興趣,相信繼續(xù)保持下去對(duì)JAVA的理解一定會(huì)更上一層樓。附錄:程序源碼import java.awt.BorderLayout;import java.awt.Color;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener; import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPanel;import javax.swing.JSeparator;import javax.swing.JTextField; public class Calculator extends JFrame implements ActionListener JMenuBar jmb; JMenu jm1,jm2,jm3; JMenuItem jmi; /* 計(jì)算器上的鍵的顯示名字 */ private final String KEYS = "7", "8", "9", "/", "sqrt", "4", "5", "6", "*", "%", "1", "2", "3", "-", "1/x", "0", "+/-", ".", "+", "=" ; /* 計(jì)算器上的功能鍵的顯示名字 */ private final String COMMAND = "Backspace", "CE", "C" ; /* 計(jì)算器上鍵的按鈕 */ private JButton keys = new JButtonKEYS.length; /* 計(jì)算器上的功能鍵的按鈕 */ private JButton commands = new JButtonCOMMAND.length; /* 計(jì)算器左邊的M的按鈕 */ /* 計(jì)算結(jié)果文本框 */ private JTextField resultText = new JTextField("0"); / 標(biāo)志用戶按的是否是整個(gè)表達(dá)式的第一個(gè)數(shù)字,或者是運(yùn)算符后的第一個(gè)數(shù)字 private boolean firstDigit = true; / 計(jì)算的中間結(jié)果。 private double resultNum = 0.0; / 當(dāng)前運(yùn)算的運(yùn)算符 private String operator = "=" / 操作是否合法 private boolean operateValidFlag = true; /* * 構(gòu)造函數(shù) */ public Calculator() super(); JMenuBar jmb=new JMenuBar();this.setJMenuBar(jmb);JMenu jm=new JMenu("編輯(E)");jmb.add(jm);jmi= new JMenuItem("復(fù)制(c) Ctrl+c");jm.add(jmi);jmi= new JMenuItem("粘貼(p) Ctrl+v");jm.add(jmi);jm2=new JMenu("查看(v)");jmb.add(jm2);jmi= new JMenuItem("標(biāo)準(zhǔn)型(T)");jm2.add(jmi);jmi= new JMenuItem("科學(xué)型(S)");jm2.add(jmi);jm2.add(new JSeparator();jmi= new JMenuItem("數(shù)學(xué)分組(I)");jm2.add(jmi);jm3=new JMenu("幫助(H)");jmb.add(jm3);jmi= new JMenuItem("幫助主題(H)");jm3.add(jmi);jm3.add(new JSeparator();jmi= new JMenuItem("關(guān)于計(jì)算器(A)");jm3.add(jmi); / 初始化計(jì)算器 init(); / 設(shè)置計(jì)算器的背景顏色 this.setBackground(Color.LIGHT_GRAY); this.setTitle("計(jì)算器"); / 在屏幕(500, 300)坐標(biāo)處顯示計(jì)算器 this.setLocation(500, 300); / 不許修改計(jì)算器的大小 this.setResizable(false); / 使計(jì)算器中各組件大小合適 this.pack(); /* * 初始化計(jì)算器 */ private void init() / 文本框中的內(nèi)容采用右對(duì)齊方式 resultText.setHorizontalAlignment(JTextField.RIGHT); / 不允許修改結(jié)果文本框 resultText.setEditable(false); / 設(shè)置文本框背景顏色為白色 resultText.setBackground(Color.WHITE); / 初始化計(jì)算器上鍵的按鈕,將鍵放在一個(gè)面板內(nèi) JPanel calckeysPanel = new JPanel(); / 用網(wǎng)格布局器,4行,5列的網(wǎng)格,網(wǎng)格之間的水平方向間隔為3個(gè)象素,垂直方向間隔為3個(gè)象素 calckeysPanel.setLayout(new GridLayout(4, 5, 3, 3); for (int i = 0; i < KEYS.length; i+) keysi = new JButton(KEYSi); calckeysPanel.add(keysi); keysi.setForeground(Color.blue); / 運(yùn)算符鍵用紅色標(biāo)示,其他鍵用藍(lán)色表示 keys3.setForeground(Color.red); keys8.setForeground(Color.red); keys13.setForeground(Color.red); keys18.setForeground(Color.red); keys19.setForeground(Color.red); / 初始化功能鍵,都用紅色標(biāo)示。將功能鍵放在一個(gè)面板內(nèi) JPanel commandsPanel = new JPanel(); / 用網(wǎng)格布局器,1行,3列的網(wǎng)格,網(wǎng)格之間的水平方向間隔為3個(gè)象素,垂直方向間隔為3個(gè)象素 commandsPanel.setLayout(new GridLayout(1, 3, 3, 3); for (int i = 0; i < COMMAND.length; i+) commandsi = new JButton(COMMANDi); commandsPanel.add(commandsi); commandsi.setForeground(Color.red); / 下面進(jìn)行計(jì)算器的整體布局,將calckeys和command面板放在計(jì)算器的中下部 / 新建一個(gè)大的面板,將上面建立的command和calckeys面板放在該面板內(nèi) JPanel panel1 = new JPanel(); / 面板采用邊界布局管理器,面板里組件之間的水平和垂直方向上間隔都為3象素 panel1.setLayout(new BorderLayout(3, 3); panel1.add("North", commandsPanel); panel1.add("Center", calckeysPanel); / 建立一個(gè)面板放文本框 JPanel top = new JPanel(); top.setLayout(new BorderLayout(); top.add("Center", resultText); / 整體布局 getContentPane().setLayout(new BorderLayout(3, 5); getContentPane().add("North", top); getContentPane().add("Center", panel1); / 為各按鈕添加事件監(jiān)聽器 / 都使用同一個(gè)事件監(jiān)聽器,即本對(duì)象。本類的聲明中有implements ActionListener for (int i = 0; i < KEYS.length; i+) keysi.addActionListener(this); for (int i = 0; i < COMMAND.length; i+) commandsi.addActionListener(this); /* * 處理事件 */ public void actionPerformed(ActionEvent e) / 獲取事件源的標(biāo)簽 String label = e.getActionCommand(); if (label.equals(COMMAND0) / 用戶按了"Backspace"鍵 handleBackspace(); else if (label.equals(COMMAND1) / 用戶按了"CE"鍵 resultText.setText("0"); else if (label.equals(COMMAND2) / 用戶按了"C"鍵 handleC(); else if ("0123456789.".indexOf(label) >= 0) / 用戶按了數(shù)字鍵或者小數(shù)點(diǎn)鍵 handleNumber(label); / handlezero(zero); else / 用戶按了運(yùn)算符鍵 handleOperator(label); /* * 處理Backspace鍵被按下的事件 */ private void handleBackspace() String text = resultText.getText(); int i = text.length(); if (i > 0) / 退格,將文本最后一個(gè)字符去掉 text = text.substring(0, i - 1); if (text.length() = 0) / 如果文本沒有了內(nèi)容,則初始化計(jì)算器的各種值 resultText.setText("0"); firstDigit = true; operator = "=" else / 顯示新的文本 resultText.setText(text); /* * 處理數(shù)字鍵被按下的事件 * * param key */ private void handleNumber(String key) if (firstDigit) / 輸入的第一個(gè)數(shù)字 resultText.setText(key); else if (key.equals(".") && (resultText.getText().indexOf(".") < 0) / 輸入的是小數(shù)點(diǎn),并且之前沒有小數(shù)點(diǎn),則將小數(shù)點(diǎn)附在結(jié)果文本框的后面 resultText.setText(resultText.getText() + "."); else if (!key.equals(".") / 如果輸入的不是小數(shù)點(diǎn),則將數(shù)字附在結(jié)果文本框的后面 resultText.setText(resultText.getText() + key); / 以后輸入的肯定不是第一個(gè)數(shù)字了 firstDigit = false; /* * 處理C鍵被按下的事件 */ private void handleC() / 初始化計(jì)算器的各種值 resultText.setText("0"); firstDigit = true; operator = "=" /* * 處理運(yùn)算符鍵被按下的事件 * * param key */ private void handleOperator(String key) if (operator.equals("/") / 除法運(yùn)算 / 如果當(dāng)前結(jié)果文本框中的值等于0 if (getNumberFromText() = 0.0) / 操作不合法 operateValidFlag = false; resultText.setText("除數(shù)不能為零"); else resultNum /= getNumberFromText(); else if (operator.equals("1/x") / 倒數(shù)運(yùn)算 if (resultNum = 0.0) / 操作不合法 operateValidFlag = false; resultText.setText("零沒有倒數(shù)"); else resultNum = 1 / resultNum; else if (operator.equals("+") / 加法運(yùn)算 resultNum += getNumberFromText(); else if (operator.equals("-") / 減法運(yùn)算 resultNum -= getNumberFromText(); else if (operator.equals("*") / 乘法運(yùn)算 resultNum *= getNumberFromText(); else if (operator.equals("sqrt") / 平方根運(yùn)算 resultNum = Math.sqrt(resultNum); else if (operator.equals("%") / 百分號(hào)運(yùn)算,除以100 resultNum = resultNum / 100; else if (operator.equals("+/-") / 正數(shù)負(fù)數(shù)運(yùn)算 resultNum = resultNum * (-1); else if (operator.equals("=") / 賦值運(yùn)算 resultNum = getNumberFromText(); if (operateValidFlag) / 雙精度浮點(diǎn)數(shù)的運(yùn)算 long t1; double t2; t1 = (long) resultNum; t2 = resultNum - t1; if (t2 = 0) resultText.setText(String.valueOf(t1); else resultText.setText(String.valueOf(resultNum); / 運(yùn)算符等于用戶按的按鈕 operator = key; firstDigit = true; operateValidFlag = true; /* * 從結(jié)果文本框中獲取數(shù)字 * * return */ private double getNumberFromText() double result = 0; try result = Double.valueOf(resultText.getText().doubleValue(); catch (NumberFormatException e) return result; public static void main(String args) Calculator calculator1 = new Calculator(); calculator1.setVisible(true); calculator1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

注意事項(xiàng)

本文(JAVA課程設(shè)計(jì)計(jì)算器)為本站會(huì)員(max****ui)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!