




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 課程設(shè)計(jì)報(bào)告( 2014 - 2015 年度第 二 學(xué)期)名 稱: 面向?qū)ο蟪绦蛟O(shè)計(jì)(JAVA)課程設(shè)計(jì) 題 目: 小學(xué)生加減法測驗(yàn) 院 系: 計(jì)算機(jī)系 班 級: 網(wǎng)絡(luò) 學(xué) 號: 學(xué)生姓名: 指導(dǎo)教師: 張靜華 設(shè)計(jì)周數(shù): 1 成 績: 日期:2015年 7 月 15 日2一、 目的與要求1 實(shí)驗(yàn)的目的:鞏固學(xué)生所學(xué)知識,培養(yǎng)學(xué)生分析問題、解決問題的能力,從接手課題到小型系統(tǒng)設(shè)計(jì)、結(jié)構(gòu)設(shè)計(jì)、編程環(huán)境的掌握,直到最后編制源代碼程序及正常運(yùn)行,形成一個(gè)完整的軟件實(shí)踐過程體系,整個(gè)過程的實(shí)踐為學(xué)加強(qiáng)綜合能力打下基礎(chǔ)。2 實(shí)驗(yàn)要求:2.1完成界面設(shè)計(jì):包括布局策略,F(xiàn)rame和Panel,按鈕,文本
2、框,文本域,標(biāo)題框等組件的使用;2.2 完成界面背后的功能邏輯;2.3運(yùn)用異常機(jī)制解決可能出現(xiàn)的異常問題;完成數(shù)據(jù)的存儲。二、課程設(shè)計(jì)正文1、設(shè)計(jì)任務(wù)(1)功能要求:電腦隨機(jī)出10道題,每題10分,程序結(jié)束時(shí)顯示學(xué)生得分;確保算式?jīng)]有超出12年級的水平,只允許進(jìn)行100以內(nèi)的加減法,不允許兩數(shù)之和或之差超出0100的范圍,負(fù)數(shù)更是不允許的;每道題學(xué)生有三次機(jī)會輸入答案,當(dāng)學(xué)生輸入錯誤答案時(shí),提醒學(xué)生重新輸入,如果三次機(jī)會結(jié)束則提示沒有機(jī)會了;對于每道題,學(xué)生第一次輸入正確答案得10分,第二次輸入正確答案得7分,第三次輸入正確答案得5分,否則不得分;總成績90以上顯示“SMART”,80-90顯
3、示“GOOD”,70-80顯示“OK”,60-70顯示“PASS”,60以下“TRY AGAIN”(2)界面要求:用字符界面實(shí)現(xiàn)、也可用圖形界面實(shí)現(xiàn),本次設(shè)計(jì)采用字符界面形式。2、設(shè)計(jì)分析(1)百以內(nèi)加減法要求加數(shù),被加數(shù),減數(shù),被減數(shù),結(jié)果都在100以內(nèi),需要對出題結(jié)果進(jìn)行控制;(2)利用循環(huán),完成十次出題,判斷,最終給出得分以及評價(jià);3、部分模塊功能及說明if(radiobutton0.isSelected()int x=(int)(Math.random()*100);int y=(int)(Math.random()*(100-x);textfield0.setText(x+y+=);
4、answer=x+y;if(radiobutton1.isSelected()Random random = new Random();int x=(int)(Math.random()*100);int y=random.nextInt(x)%(x+1);textfield0.setText(x+-+y+=);answer=x-y;以上程序會判斷答題者選擇的模式為加法還是減法,并隨機(jī)出題。4、程序運(yùn)行圖片三、課程設(shè)計(jì)總結(jié)通過此次課程設(shè)計(jì),我更加深刻的理解了JAVA程序設(shè)計(jì)語言的魅力。算法當(dāng)然是各種程序設(shè)計(jì)語言的基礎(chǔ),但只有算法我們還有很多解決不了的實(shí)際問題。而JAVA的核心是面向?qū)ο?,面向?qū)?/p>
5、象就可以解決我們生活中的很多例子,而引進(jìn)窗體、用戶界面的內(nèi)容就更加豐富了JAVA程序設(shè)計(jì)語言的強(qiáng)大功能,在日后的學(xué)習(xí)中,一定努力學(xué)習(xí)相關(guān)知識,提升自己的編程業(yè)務(wù)邏輯水平。四、參考文獻(xiàn)1 崔克彬,張靜華,劉書剛. 面向?qū)ο蟪绦蛟O(shè)計(jì)(Java). 北京:中國電力出版社. 2010,12附錄(程序清單)import java.awt.*;import javax.swing.*;import java.util.Random;import java.awt.event.*;class JFrameTest extends JFrameprivate JButton button1 = new JBu
6、tton(開始);private JButton button2 = new JButton(確定);private JButton button3 = new JButton(結(jié)束);private JTextField textfield0=new JTextField();private JTextField textfield1=new JTextField();private JTextField textfield2=new JTextField(請輸入學(xué)號、姓名并選擇模式。然后按“開始”鍵答題。);private JTextField textfield3=new JTextFi
7、eld();private JTextField textfield4=new JTextField();private JTextField textfield5=new JTextField();private JTextField textfield6=new JTextField();private JLabel label0=new JLabel(題目:);private JLabel label1=new JLabel(答案:);private JLabel label2=new JLabel(提示:);private JLabel label3=new JLabel(評價(jià):);p
8、rivate JLabel label4=new JLabel(分?jǐn)?shù):);private JLabel label5=new JLabel(姓名:);private JLabel label6=new JLabel(學(xué)號:);private JRadioButton radiobutton0=new JRadioButton(加法);private JRadioButton radiobutton1=new JRadioButton(減法);private ButtonGroup group=new ButtonGroup();public JFrameTest(String title)su
9、per(title); this.setBounds(500,200,475,300);Container contentPane = this.getContentPane();/contentPane.setBackground(Color.white);contentPane.setLayout(null);button1.setBounds(25,225,100,25);button2.setBounds(175,225,100,25);button3.setBounds(325,225,100,25);radiobutton0.setBounds(350,70,75,25);radi
10、obutton1.setBounds(350,95,75,25);textfield0.setBounds(60,120,100,25);textfield1.setBounds(60,165,100,25);textfield2.setBounds(60,25,325,25);textfield3.setBounds(210,120,100,25);textfield4.setBounds(210,165,100,25);textfield5.setBounds(60,70,100,25);textfield6.setBounds(210,70,100,25);textfield0.setE
11、ditable(false);textfield1.setEditable(false);textfield3.setEditable(false);textfield4.setEditable(false);button2.setEnabled(false);label0.setBounds(25,120,50,25);label1.setBounds(25,165,50,25);label2.setBounds(25,25,50,25);label3.setBounds(175,120,50,25);label4.setBounds(175,165,50,25);label5.setBou
12、nds(25,70,50,25);label6.setBounds(175,70,50,25);group.add(radiobutton0);group.add(radiobutton1);contentPane.add(button1);contentPane.add(button2);contentPane.add(button3);contentPane.add(textfield0);contentPane.add(textfield1);contentPane.add(textfield2);contentPane.add(textfield3);contentPane.add(t
13、extfield4);contentPane.add(textfield5);contentPane.add(textfield6);contentPane.add(label0);contentPane.add(label1);contentPane.add(label2);contentPane.add(label3);contentPane.add(label4);contentPane.add(label5);contentPane.add(label6);contentPane.add(radiobutton0);contentPane.add(radiobutton1);this.
14、setVisible(true);label0.setVisible(false);label1.setVisible(false);label3.setVisible(false);label4.setVisible(false);textfield0.setVisible(false);textfield1.setVisible(false);textfield3.setVisible(false);textfield4.setVisible(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);button1.addActi
15、onListener(new my(button1,button2,textfield0,textfield1,textfield2,textfield3,textfield4,textfield5,textfield6,radiobutton0,radiobutton1,label0,label1,label3,label4); button2.addActionListener(new my2(label3,label4,button2,textfield0,textfield1,textfield2,textfield3,textfield4,radiobutton0,radiobutt
16、on1); button3.addActionListener(new my3();class my implements ActionListener/開始private JButton button1;private JButton button2;private JLabel label0;private JLabel label1;private JLabel label3;private JLabel label4;private JTextField textfield0;private JTextField textfield1;private JTextField textfi
17、eld2;private JTextField textfield3;private JTextField textfield4;private JTextField textfield5;private JTextField textfield6;private JRadioButton radiobutton0;private JRadioButton radiobutton1;public my (JButton button1,JButton button2,JTextField textfield0,JTextField textfield1,JTextField textfield
18、2,JTextField textfield3,JTextField textfield4,JTextField textfield5,JTextField textfield6,JRadioButton radiobutton0,JRadioButton radiobutton1,JLabel label0,JLabel label1,JLabel label3,JLabel label4)this.button1=button1;this.button2=button2;this.textfield0=textfield0;this.textfield2=textfield2;this.t
19、extfield1=textfield1;this.textfield5=textfield5;this.textfield6=textfield6;this.radiobutton0=radiobutton0;this.radiobutton1=radiobutton1;this.label0 = label0;this.label1 = label1;this.label3 = label3;this.label4 = label4;public void actionPerformed(ActionEvent e) textfield2.setText(共十道小題,每題三次機(jī)會。點(diǎn)擊“確
20、認(rèn)”開始作答。);textfield0.setEditable(true);textfield1.setEditable(true);textfield5.setEditable(false);textfield6.setEditable(false);button1.setEnabled(false);/按鈕變灰button2.setEnabled(true);label0.setVisible(true);label1.setVisible(true);label3.setVisible(false);label4.setVisible(false);textfield0.setVisib
21、le(true);textfield1.setVisible(true);textfield3.setVisible(true);textfield4.setVisible(true);class my2 implements ActionListener/確定int c1=0;int c2=0;int c3=0;int number=0;int number2=0;int answer=101;String temp4=a;/正確答案private JButton button2;private JLabel label3;private JLabel label4;private JTex
22、tField textfield0;private JTextField textfield1;private JTextField textfield2;private JTextField textfield3;private JTextField textfield4;private JRadioButton radiobutton0;private JRadioButton radiobutton1;public my2 (JLabel label3,JLabel label4,JButton button2,JTextField textfield0,JTextField textf
23、ield1,JTextField textfield2,JTextField textfield3,JTextField textfield4,JRadioButton radiobutton0,JRadioButton radiobutton1)this.button2=button2;this.textfield0=textfield0;this.textfield1=textfield1;this.textfield2=textfield2;this.textfield3=textfield3;this.textfield4=textfield4;this.radiobutton0=ra
24、diobutton0;this.radiobutton1=radiobutton1;this.label3 = label3;this.label4 = label4;public void actionPerformed(ActionEvent e) textfield0.setVisible(true);textfield1.setVisible(true);textfield3.setVisible(true);textfield4.setVisible(true);label3.setVisible(true);label4.setVisible(true);textfield2.se
25、tText(下一題);String temp= this.textfield0.getText();String temp2=;String temp3= this.textfield1.getText();/答案1if(temp2.equals(temp)=false&temp3.equals(temp4)=false)/回答錯誤number2+;switch(number2)case 1:textfield2.setText(答錯一次);c1+;break;case 2:textfield2.setText(答錯二次);c2+;break;case 3:textfield2.setText
26、(答錯三次);c3+;break;case 4:number2=0;if(radiobutton0.isSelected()/加法int x=(int)(Math.random()*100);int y=(int)(Math.random()*(100-x);textfield0.setText(x+y+=);answer=x+y;if(radiobutton1.isSelected()/減法Random random = new Random();int x=(int)(Math.random()*100);int y=random.nextInt(x)%(x+1);textfield0.setText(x+-+y+=);answer=x-y;temp4=answer+;number+;number2=0;break;if(temp2.
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 2 More than fun:Understanding ideas (Grammar) 教學(xué)設(shè)計(jì) 2024-2025學(xué)年外研版(2024年)英語七年級 上冊
- 2025年度勞動合同解除終止證明書模板設(shè)計(jì)與員工離職后續(xù)支持合同
- 2025年度拖欠工資問題解決與勞動權(quán)益保障合同
- 2025年度家居裝修安全責(zé)任協(xié)議書
- 2025年度房產(chǎn)證辦理完畢后購房合同保管期限與責(zé)任合同
- 2025年度抵押車買賣合同車輛交易稅費(fèi)繳納及返還協(xié)議
- 2025年度餐飲公司合伙人合作協(xié)議及知識產(chǎn)權(quán)保護(hù)合同
- 2025年度臨時(shí)炊事員餐飲服務(wù)與管理合作協(xié)議
- 2025年度個(gè)人水泥品牌授權(quán)與推廣合作協(xié)議
- 2025年度體育場地租賃及健身課程開發(fā)合同
- 三年級下冊數(shù)學(xué)課件 兩位數(shù)除兩、三位數(shù) 滬教版 (共15張PPT)
- 《六大茶類》講義
- Unit 2 Listening and speaking 課件-高中英語人教版(2019)選擇性必修第二冊
- X會計(jì)師事務(wù)所的J城投公司發(fā)債審計(jì)項(xiàng)目研究
- 中國傳媒大學(xué)全媒體新聞編輯:案例教學(xué)-課件-全媒體新聞編輯:案例教學(xué)-第7講
- 生理學(xué)泌尿系統(tǒng)6學(xué)時(shí)課件
- PySide學(xué)習(xí)教程
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter1 Introduction
- 人教三年級數(shù)學(xué)下冊表格式全冊
- 優(yōu)秀教研組評比制度及實(shí)施細(xì)則
- JJF 1752-2019全自動封閉型發(fā)光免疫分析儀校準(zhǔn)規(guī)范(高清版)
評論
0/150
提交評論