JAVA課程設(shè)計-計算器小程序報告.doc
《JAVA課程設(shè)計-計算器小程序報告.doc》由會員分享,可在線閱讀,更多相關(guān)《JAVA課程設(shè)計-計算器小程序報告.doc(16頁珍藏版)》請在裝配圖網(wǎng)上搜索。
#####學(xué)院 JAVA語言課程設(shè)計報告 小程序計算器系統(tǒng)管理 班 級:####### 姓 名:### ## 指導(dǎo)老師:### 時間:2012年6月25日至6月29日 目錄 1、課程設(shè)計概述--------------------------------------------------3 1.1 利用java編寫計算器,使之具備一定的功能:-----------------3 1.2 課程設(shè)計的主要思想--------------------------------------------------3 1.3 該項目設(shè)計的目的-----------------------------------------------------3 2、需求分析方案--------------------------------------------------4 2.1 功能需求分析-----------------------------------------------4 2.2 性能需求分析-----------------------------------------------4 3、總體設(shè)計方案--------------------------------------------------5 3.1界面設(shè)計----------------------------------------------------------------------5 3.2功能介紹-----------------------------------------------------------------------5 4、 詳細說明、調(diào)試---------------------------------------------6 4.1程序流程圖-------------------------------------------------------6 4.2部分代碼說明-----------------------------------------------------6 4.3程序調(diào)試與結(jié)果示例-------------------------------------------8 5、 個人總結(jié)-----------------------------------------------------10 6、 附錄(代碼)-----------------------------------------------11 6.1登陸界面代碼 --------------------------------------------11 6.2計算器主界面 --------------------------------------------12 6.3 退出界面代碼 -------------------------------------------15 1.課程設(shè)計概述 1.1 利用java編寫計算器,使之具備一定的功能: (1)使用圖形用戶界面:一個文本框;0-9數(shù)字按鈕;加、減、乘、除運算符;“等于”符號;復(fù)位按鈕; (2)完成整數(shù)、實數(shù)的四則運算(加、減、乘、除); (3)通過按鈕點擊實現(xiàn)數(shù)據(jù)的復(fù)位(清零); (4)實數(shù)運算中小數(shù)位的精度一致。 1.2 課程設(shè)計的主要思想 首先要設(shè)計一個登錄界面,必須輸入密碼并正確才能進入到計算器界面; 對于此計算器程序,要設(shè)計其GUI界面,總體界面有一個文本框,18個按鈕,總體界面用BorderLayout布局。 文本框放置在最NORTH,然后0到9以及+,-,*,/的按鈕放置到一個面板Panel中,添加到整體布局的CENTER,界面設(shè)計完成。 布局設(shè)計好后再添加按鈕事件。對于此程序要考慮到點擊加、減、乘、除按鈕時是否有點擊數(shù)字按鈕,如果是第一次點擊數(shù)字按鈕或者是點擊數(shù)字按鈕前點擊了加、減、乘、除按鈕則直接把數(shù)字按鈕的數(shù)值設(shè)置到文本框中,否則則應(yīng)把文本框中的內(nèi)容加上你所點擊按鈕的數(shù)值設(shè)置到文本框中。 在進行加、減、乘、除計算時要把點擊加、減、乘、除按鈕之前的數(shù)值保存下來,運算時是這個被保存下來的數(shù)值和文本框中的數(shù)值加、減、乘、除。 最后還需要一個退出界面。 重要的是必須把三個界面的代碼放在同一個包里。 1.3 該項目設(shè)計的目的 (1)理解并掌握Java中的類、對象、繼承、方法等概念,以及Applet的基本框架和事件處理的方法。 (2)學(xué)會一些按鈕,標簽,主件,文本框的使用; (3)學(xué)會使用JDK編寫、調(diào)試和運行Java Applet應(yīng)用程序。 (4)利用awt組件編寫一個計算器,實現(xiàn)基本的四則運算。 2.需求分析 2.1 功能需求分析 在日常生活中經(jīng)常需要用到計算器,比如科學(xué)計算、數(shù)值計算、會計業(yè)務(wù)等,在Applet中實現(xiàn)一個精巧實用的計算器,可以讓用戶在使用網(wǎng)站服務(wù)的同時,可以很方便地進行數(shù)據(jù)運算,可增加頁面的實用性,同時讓用戶的操作也更方便與快捷。本項目需要實現(xiàn)一個用Java中的類、對象、繼承、方法等概念以及awt主鍵和 Applet的基本框架和事件處理的方法。簡單的四則運算的計算器,擁有加、減、乘、除功能,除此之外要三個界面即:登錄面,計算器主界面,退出界面,要劇本的功能就是點擊登錄界面可以前往計算器主界面,退出可以到達退出界面。 2.2性能需求分析 實用性:在實現(xiàn)此過程中,我們要考慮到,計算的實用性,能過用于哪些方面。 準確性:在實現(xiàn)此過程中,我們要考慮到,怎樣使計算器界面更簡單,讓人更容易明白它怎樣去用。 連貫性:在此項目中,要讓登陸界面,計算器主界面,退出界面能連起;即:運行登陸界面,密碼正確時能登陸到計算器主界面,點主界面退出時能到達退出界面,給人以提示。 3總體設(shè)計 3.1界面設(shè)計 界面設(shè)計要求用GUI,界面設(shè)計中有用到swing組件的TextField、Button,和JLable用到awt中的BorderLayout和GridLayout布局管理方式,其圖形界面如下: 登陸界面 計算器主界面 退出提示界面 3.2功能介紹 (1)本項目分為三個界面,登錄,計算器,退出三個界面,點擊登錄輸入密碼正確就可以登錄到計算器界面,退出計算器界面還可以再次登錄。(2)這是計算器中的一種:簡單計算器,本項目用到了Java中的GUI界面和swing組件以及awt布局,所以簡單易用,它能完成如下的幾個小功能:點擊按鈕中的數(shù)字鍵和運算符鍵就能進行簡單的加、乘、乘、除求模四則運算 ;還能通過用戶自己在文本框中輸入數(shù)字,進行簡單運算 ; 如果輸入有誤時可以點“清除”撤銷后重新輸入新數(shù)據(jù) . 4.詳細設(shè)計說明、調(diào)試 4.1程序流程圖: 開始 登錄界面 計算器界面 運 算 器 數(shù) 據(jù) 運 算 符 號 功 能 模 塊 輸出結(jié)果 退出界面 繼續(xù) 退出 再次登錄 4.2部分代碼說明 段代碼主要是對程序的主框架進行相應(yīng)的設(shè)置。 Frame f=new Frame("計算器小程序"); f.setBackground(Color.lightGray); f.setForeground(Color.blue)//數(shù)字顏色 f.add(p1,BorderLayout.NORTH); f.add(p2,BorderLayout.CENTER); f.add(p3,BorderLayout.SOUTH); f.setSize(350,300);//設(shè)置面板大小 f.setVisible(true);//設(shè)置為可見 添加相應(yīng)的按鈕 B[0].addActionListener(this); //7 B[1].addActionListener(this); //8 B[2].addActionListener(this); //9 B[3].addActionListener(this); //除號 B[4].addActionListener(this); //4 B[5].addActionListener(this); //5 B[6].addActionListener(this); //*乘號 B[8].addActionListener(this); //1 B[9].addActionListener(this); //2 B[10].addActionListener(this); //3 B[11].addActionListener(this); // -減號 B[12].addActionListener(this); //0 B[13].addActionListener(this); //.小數(shù)點 B[14].addActionListener(this); //=等于號 B[15].addActionListener(this); //+加好 b1.addActionListener(this); b2.addActionListener(this); f.addWindowListener(new closeWin(); 運算設(shè)計代碼: if(command=="清除") //清零鍵 按下時返回初始狀態(tài) { y=0; tf.setText("0."); s1="";s2="";s3="";//記錄輸入值的變量清空 } else if(command=="退出") System.exit(0);//退出鍵 關(guān)閉應(yīng)用程序 else if(y==0&&command!="*"&&command!="/" &&command!="+"&&command!="-" &&command!="=")//判斷輸入是否為數(shù)字 { s1=s1.concat(command); tf.setText(s1); } if(command=="*"||command=="/" ||command=="+"||command=="-")//判斷是否輸入運算符 { y=1; s2=command; } if(y==1&&command!="*"&&command!="/" &&command!="+"&&command!="-" &&command!="=") { s3=s3.concat(command); tf.setText(s3); } if(command=="=") { Double ob1=Double.valueOf(s1); Double ob3=Double.valueOf(s3); d1=ob1.doubleValue(); d3=ob3.doubleValue(); if(s2=="+") d4=d1+d3; if(s2=="-") d4=d1-d3; if(s2=="*") d4=d1*d3; Double ob4=new Double(d4); tf.setText(ob4.toString()); if(s2=="/") { if(d3==0) tf.setText("除數(shù)不能為零"); else{ d4=d1/d3; ob4=new Double(d4); tf.setText(ob4.toString());} } y=0; } 4.3程序調(diào)試與結(jié)果示例 1.運行登錄界面,輸入密碼,正確和錯誤兩種情況;當輸入正確時會彈出計算器界面,如果錯誤也會提示你,點擊“重置”就可以重新輸入密碼 2.當除數(shù)為0時,結(jié)果顯示“除數(shù)不能為零” “if(d3==0) tf.setText("除數(shù)為零")” 3.預(yù)計“32+3=35”,結(jié)果顯示“35.0” 4.預(yù)計“5-7=-2”,實際結(jié)果顯示“-2.0” 5. 當不需要計算時,點擊“退出”或關(guān)閉窗口時會彈出退出界面,會提示你是否真的退出,如需要重新登錄就點擊“再次登錄”,如不需要登錄就點擊“退出”或關(guān)閉窗口。 5.個人總結(jié) 附錄:(代碼) 6.1登錄界面的代碼: import javax.swing.*; import java.awt.*; import java.awt.event.*; public class jiemian extends JFrame implements ActionListener { JButton button1,button2; JTextField text1,text2; JLabel jlb,jlb1,jlb2; public jiemian() { super("java小程序登陸窗口"); Container con=getContentPane(); con.setLayout(null); jlb=new JLabel("您好!歡迎您登陸java小程序計算器"); jlb1=new JLabel("請輸入秘密:");//標簽 button1=new JButton("登陸");//登陸按鈕 button1.addActionListener(this); //添加監(jiān)聽者 button2=new JButton("重置");//取消按鈕 button2.addActionListener(this); //添加監(jiān)聽者 text1=new JPasswordField(10);//密碼文本框 ((JPasswordField) text1).setEchoChar(*);//設(shè)置掩碼 text1.addActionListener(this); //添加監(jiān)聽者 jlb2=new JLabel("密碼提示:");//標簽 text2=new JTextField(10);//密碼提示文本框 //標簽,文本框,按鈕的位置大小 jlb.setBounds(70,0,220,100); jlb1.setBounds(90,50,80,50); text1.setBounds(80,90,190,30); button1.setBounds(90,210,60,30); button2.setBounds(170,210,60,30); jlb2.setBounds(90,110,90,50); text2.setBounds(80,150,190,30); con.add(jlb); con.add(jlb1); con.add(jlb2); con.add(text1); con.add(text2); con.add(button1); con.add(button2); setBounds(300,200,350,350); setVisible(true); } public static void main(String args[]) { new jiemian();//函數(shù)調(diào)用 } public void actionPerformed(ActionEvent e) { if(text1.getText().equals("ruanjian11312"))//判斷密碼 { text2.setText("密碼正確"); new jsq().init();//調(diào)用計算器主界面函數(shù) } else if(text1.getText().equals("11312"))//判斷密碼 { text2.setText("密碼正確"); new jsq().init();//調(diào)用計算器主界面函數(shù) } else text2.setText("對不起,密碼錯誤,請重新輸入"); if(e.getSource()==button2) { text1.setText(null); text2.setText(null); }//使文本框1、2反空 } } 6.2計算器主界面的代碼: import java.awt.*; import java.awt.event.*; public class jsq implements ActionListener { Panel p1=new Panel(); Panel p2=new Panel(); Panel p3=new Panel(); TextField tf=new TextField(30); String a[]={"7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+",}; Button B[]; Button b1=new Button("清除"); Button b2=new Button("退出"); String s1=new String(); String s2=new String(); String s3=new String();//s1記錄第一個數(shù);s2記錄運算符;s3記錄第二個數(shù); double d1,d3,d4; int y=0; // y用于控制運算符 public void init() { Frame f=new Frame("計算器小程序"); f.setBackground(Color.lightGray); f.setForeground(Color.blue);//數(shù)字顏色 p1.add(tf); p3.setLayout(new GridLayout(1,2)); p3.add(b1); p3.add(b2); p2.setLayout(new GridLayout(4,4)); B=new Button[a.length]; for(int i=0;i- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- JAVA 課程設(shè)計 計算器 程序 報告
鏈接地址:http://www.820124.com/p-8351182.html