課程設(shè)計-設(shè)計一個小學算術(shù)運算測試軟_第1頁
課程設(shè)計-設(shè)計一個小學算術(shù)運算測試軟_第2頁
課程設(shè)計-設(shè)計一個小學算術(shù)運算測試軟_第3頁
課程設(shè)計-設(shè)計一個小學算術(shù)運算測試軟_第4頁
課程設(shè)計-設(shè)計一個小學算術(shù)運算測試軟_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 課程設(shè)計報告書 課程名稱 Java程序設(shè)計語言 設(shè)計題目 設(shè)計一個小學算術(shù)運算測試軟件 專業(yè)班級 軟件12-5班 學 號 姓 名 指導教師 2014 年 6 月目錄1 設(shè)計時間32 設(shè)計目的33 設(shè)計題目34 設(shè)計任務34.1 設(shè)計界面34.2 設(shè)計時間35 設(shè)計內(nèi)容46 功能模塊實現(xiàn)46.1 JComboBOx的事件的實現(xiàn)46.2 Buttonn事件實現(xiàn)56.3 兩個Button事件實現(xiàn)選項76.4 復選框事件的實現(xiàn)77 運行與測試88 總結(jié)與展望9 參考文獻10 成績評定10 附錄11 1 設(shè)計時間6月16日到6月22日2 設(shè)計目的綜合運用圖形用戶界面設(shè)計的概念,熟悉使用中間面板組成層次

2、結(jié)構(gòu)復雜的GUI界面,熟悉使用時間驅(qū)動編程,熟悉使用內(nèi)部類。3 設(shè)計題目設(shè)計一個小學算術(shù)運算測試軟件軟件基本功能:設(shè)計GUI界面,通過選擇不同運算符(如加減法、乘除法)及運算數(shù)的范圍(如10以內(nèi)、100以內(nèi)等)后隨機產(chǎn)生指定書目(10道,20道等)的運算式子,測試提交后自動評分,根據(jù)不同測試結(jié)果給出提示(如“你真棒”,”繼續(xù)努力”等。4設(shè)計任務 4.1 設(shè)計界面 在紙上設(shè)計圖紙,然后用Java語言設(shè)計基本代碼,然后再讓其在程序中運行出來,如上圖所示。4.2設(shè)計事件1, 關(guān)于JComboBOx的事件2, 關(guān)于Button的事件設(shè)計 3,關(guān)于JRadioButton的事件設(shè)計5 設(shè)計內(nèi)容 先設(shè)計G

3、UI 界面,在基礎(chǔ)上實現(xiàn) JComboBOx, 這個控件主要實現(xiàn)的功能是當在下拉列表中選定選定操作類型之后,在像行的ope位置上將其置為相應的操作符。 Button事件,這個控件主要實現(xiàn)操作數(shù)運算結(jié)果和文本框中結(jié)果的比對,實現(xiàn)label1,label2中顯示做對 多少題,做了多少題。兩個Button事件實現(xiàn),這兩個按鈕主要實現(xiàn)選擇了多少道題,按“10道題”的時候,總共選擇10道題,按“20道題”的時候,總共選擇20道題。復選框事件的實現(xiàn),這個控件主要實現(xiàn)選擇10以內(nèi)的題還是100以內(nèi)的題,設(shè)置常數(shù),實現(xiàn)選擇。6 功能模塊實現(xiàn) 6.1 JComboBOx的事件的實現(xiàn) 這個控件主要實現(xiàn)的功能是當在

4、下拉列表中選定選定操作類型之后,在像行的ope位置上將其置為相應的操作符。代碼部分如下:public class itemevent implements ItemListener/實現(xiàn)下拉列表框的事件public void itemStateChanged(ItemEvent e) if(jrbut.getSelectedIndex()=0) /如果下拉列表框中選定的是第一項,即加號calcuType=1;ope.setText(+);/將操作符的部分置為“+”號else if(jrbut.getSelectedIndex()=1) /如果下拉列表框中選定的是第二項項,即減號calcuTyp

5、e=2;ope.setText(-);/將操作符的部分置為“-”號else if(jrbut.getSelectedIndex()=2)/如果下拉列表框中選定的是第三項項,即減號calcuType=3;ope.setText(*);/將操作符的部分置為“*”號elsecalcuType=4;ope.setText(/);/將操作符的部分置為“/”號6.2 Button事件實現(xiàn) 這個控件主要實現(xiàn)操作數(shù)運算結(jié)果和文本框中結(jié)果的比對,實現(xiàn)label1,label2中顯示做對 多少題,做了多少題。 代碼部分如下:public class itemevent implements ItemListene

6、r/實現(xiàn)下拉列表框的事件public void itemStateChanged(ItemEvent e) if(jrbut.getSelectedIndex()=0) /如果下拉列表框中選定的是第一項,即加號calcuType=1;ope.setText(+);/將操作符的部分置為“+”號else if(jrbut.getSelectedIndex()=1) /如果下拉列表框中選定的是第二項項,即減號calcuType=2;ope.setText(-);/將操作符的部分置為“-”號else if(jrbut.getSelectedIndex()=2)/如果下拉列表框中選定的是第三項項,即減號

7、calcuType=3;ope.setText(*);/將操作符的部分置為“*”號elsecalcuType=4;ope.setText(/);/將操作符的部分置為“/”號int op=0;class ButtonListener implements ActionListenerpublic void actionPerformed(ActionEvent event)int x=0,y=0,z=0,temp=0;if(answer.getText().length()=0)/如果是answer中字符創(chuàng)長度為零的話,什么也不做else/否則就做以下部分tryz=(int)Integer.va

8、lueOf(answer.getText();x=(int)Integer.valueOf(operate1.getText();y=(int)Integer.valueOf(operate2.getText();catch(Exception e)if(calcuType=1)/如果是加法if(x+y=z)rightnum+; label3.setText(你真棒!);/如果做對,輸出你真棒else label3.setText(加油哦!);/否則輸出加油哦else if(calcuType=2)/如果是減法if(x-y=z)rightnum+; label3.setText(你真棒!);/

9、如果做對,輸出你真棒else label3.setText(加油哦!);/否則輸出加油哦else if(calcuType=3)/如果是乘法if(x*y=z)rightnum+; label3.setText(你真棒!);/如果做對,輸出你真棒else label3.setText(加油哦!);/否則輸出加油哦else/或者是除法if(x/y=z)rightnum+; label3.setText(你真棒!);/如果做對,輸出你真棒else label3.setText(加油哦!);/否則輸出加油哦if(t=9)/判斷是10以內(nèi)的x=(int)(9*Math.random();while(x=

10、0)x=(int)(Math.random();y=(int)(9*Math.random();while(y=0)y=(int)(Math.random();if(xy)temp=x;x=y;y=temp;/產(chǎn)生隨機數(shù)operate1.setText(String.valueOf(x);operate2.setText(String.valueOf(y);/設(shè)置操作數(shù)else/當是100以內(nèi)的數(shù)時x=(int)(99*Math.random();while(x=0)x=(int)(Math.random();y=(int)(99*Math.random();while(y=0)y=(int)

11、(Math.random();if(xy)temp=x;x=y;y=temp;operate1.setText(String.valueOf(x);operate2.setText(String.valueOf(y);if(xop)System.exit(0);6.3 兩個Button事件實現(xiàn)選項這兩個按鈕主要實現(xiàn)選擇了多少道題,按“10道題”的時候,總共選擇10道題,按“20道題”的時候,總共選擇20道題。代碼部分如下public class event implements ActionListener public void actionPerformed(ActionEvent e)

12、if(e.getSource()=but1) op=10; la1.setText(共有+op+道題); else if(e.getSource()=but2) op=20; la1.setText(共有+op+道題); 6.4 復選框事件的實現(xiàn)這個控件主要實現(xiàn)選擇10以內(nèi)的題還是100以內(nèi)的題,設(shè)置常數(shù),實現(xiàn)選擇。代碼部分如下public class action implements ActionListener Overridepublic void actionPerformed(ActionEvent e) if(e.getSource()=myradio1)/如果是復選框1中被選定

13、t=9;elset=90; 7運行與測試 加法 減法乘法除法8總結(jié)與展望在整個設(shè)計中也遇到了不少的問題,但通過仔細的檢查與研究問題都一一解決了。在整個實驗設(shè)計的過程中,我不但加深了對這門課的理解同時也鞏固了Java程序的整體結(jié)構(gòu)。通過實驗中發(fā)現(xiàn)的問題,使我明白了自己原來的知識都太過理論化了,面對單獨的課題時是多么的茫然。自己要學習的東西還有很多,以前老是覺得自己什么東西都會,什么東西都懂,有點眼高手低。通過實驗,我才明白學習是一個長期積累的過程,在以后的工作、生活中都應該不斷的學習,努力提高自己的知識和綜合素質(zhì)。 總之,單靠書本上的理論知識是無法體現(xiàn)出知識的真正價值的!很多時候,我們以為我們都

14、會了,但等到用的時候才發(fā)現(xiàn)是兩回事,所以我們必須通過實際的操作應用去分析理解它!參考文獻1 屈輝立,陳可明,石武信.JSP網(wǎng)站編程教程M.第1版, 北京:北京希望電子出版社,2005 2 白勇.用B/S模式構(gòu)建在線考試系統(tǒng)J,重慶電力高等專科學校學報,2003,10(4): 100130. 3 Jiang Guo,Yuehong Liao,Behzad Parviz.A Survey of J2EE Application Performance Management SystemsJ,Proceedings of the IEEE International Conference on We

15、b Services (ICWS04),2004.6(5):1732.4 VB數(shù)據(jù)庫管理范例:/down/2j.asp?id=14&cid=23EB/OL 成績評定成績 教師簽字附錄:package myjava;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class calculate JFrame frame =new JFrame();int totalnum=0;int rightnum=0;int calcuType=1;static int t=9;JLabel operate1=new

16、 JLabel();JLabel ope=new JLabel(+);JLabel operate2=new JLabel();JLabel equl=new JLabel(=);JTextField answer=new JTextField(,5);JPanel p1=new JPanel();JRadioButton myradio1, myradio2;JButton ok=new JButton(確認);JLabel label1=new JLabel(已做+totalnum+題);JLabel label2=new JLabel(做對+rightnum+題);JPanel p2=n

17、ew JPanel();JLabel label3;String str=加法,減法,乘法,除法;JComboBox jrbut=new JComboBox(str);JPanel opt =new JPanel();JButton but1, but2;JLabel la1;public calculate()opt.add(jrbut);jrbut.setSelectedIndex(0);frame.setLocation(400,100);frame.setLayout(new GridLayout(3,1);frame.setDefaultCloseOperation(JFrame.E

18、XIT_ON_CLOSE);p1.add(operate1);p1.add(ope);p1.add(operate2);p1.add(equl);p1.add(answer);p1.add(jrbut);frame.add(p1);p2.add(ok); but1=new JButton(10題); but2=new JButton(20題); label3=new JLabel(); p2.add(label3);p2.add(but1);p2.add(but2);but1.addActionListener(new event();but2.addActionListener(new ev

19、ent();frame.add(p2);JPanel pl=new JPanel();pl.add(label1);pl.add(label2);la1=new JLabel();pl.add(la1);frame.add(pl); myradio1=new JRadioButton(10以內(nèi)); myradio2=new JRadioButton(100以內(nèi));ButtonGroup group= new ButtonGroup();group.add(myradio1);group.add(myradio2);pl.add(myradio1);pl.add(myradio2);myradi

20、o1.setSelected(true);frame.add(pl);myradio1.addActionListener(new action();myradio2.addActionListener(new action();int x,y,temp;if(t=9)x=(int)(9*Math.random();while(x=0)x=(int)(Math.random();y=(int)(9*Math.random();while(y=0)y=(int)(Math.random();if(xy)temp=x;x=y;y=temp;operate1.setText(String.value

21、Of(x);operate2.setText(String.valueOf(y);elsex=(int)(99*Math.random();while(x=0)x=(int)(Math.random();y=(int)(99*Math.random();while(y=0)y=(int)(Math.random();if(xy)temp=x;x=y;y=temp;operate1.setText(String.valueOf(x);operate2.setText(String.valueOf(y);frame.setVisible(true);frame.setSize(400, 150);

22、jrbut.addItemListener(new itemevent();ok.addActionListener(new ButtonListener();label1.setText(已做+totalnum+題);label2.setText(做對+rightnum+題);la1.setText(共有+op+道題);public class itemevent implements ItemListener/實現(xiàn)下拉列表框的事件public void itemStateChanged(ItemEvent e) if(jrbut.getSelectedIndex()=0) /如果下拉列表框

23、中選定的是第一項,即加號calcuType=1;ope.setText(+);/將操作符的部分置為“+”號else if(jrbut.getSelectedIndex()=1) /如果下拉列表框中選定的是第二項項,即減號calcuType=2;ope.setText(-);/將操作符的部分置為“-”號else if(jrbut.getSelectedIndex()=2)/如果下拉列表框中選定的是第三項項,即減號calcuType=3;ope.setText(*);/將操作符的部分置為“*”號elsecalcuType=4;ope.setText(/);/將操作符的部分置為“/”號int op=

24、0;class ButtonListener implements ActionListenerpublic void actionPerformed(ActionEvent event)int x=0,y=0,z=0,temp=0;if(answer.getText().length()=0)/如果是answer中字符創(chuàng)長度為零的話,什么也不做else/否則就做以下部分tryz=(int)Integer.valueOf(answer.getText();x=(int)Integer.valueOf(operate1.getText();y=(int)Integer.valueOf(opera

25、te2.getText();catch(Exception e)if(calcuType=1)/如果是加法if(x+y=z)rightnum+; label3.setText(你真棒!);/如果做對,輸出你真棒else label3.setText(加油哦!);/否則輸出加油哦else if(calcuType=2)/如果是減法if(x-y=z)rightnum+; label3.setText(你真棒!);/如果做對,輸出你真棒else label3.setText(加油哦!);/否則輸出加油哦else if(calcuType=3)/如果是乘法if(x*y=z)rightnum+; label3.setText(你真棒!);/如果做對,輸出你真棒else label3.setText(加油哦!);/否則輸出加油哦else/或者是除法if(x/y=z)rightnum+; label3.setText(你真棒!);/如果做對,輸出你真棒else label3.setText(加油哦!);/否則輸出加油哦if(t=9)/判斷是10以內(nèi)的x=(int)(9

溫馨提示

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

評論

0/150

提交評論