【软件工程实践】结对项目-四则运算 “软件”之升级版
這個作業要求來自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2232
githup地址是:https://github.com/cmhbaba/test20180912/blob/master/Main.java
結對對象博客是:http://www.cnblogs.com/fshost/
結對同學:梁添鵬 201606120087
編程環境是:IntelliJ IDEA Community Edition 2017.2.3 x64
一、需求分析
從個人項目出發,將程序改裝成一個單機帶用戶界面(不是控制臺)的程序,這個程序最基本要達到:
- 生成題目,單個題目最多不能超過4個運算符,操作數小于100。
- 用戶可以輸入答案
- 若用戶輸入答案正確,則提示正確;若答案錯誤,則提示錯誤,并要提示正確答案是多少
4個拓展方向:
1、用戶答題結束以后,程序可以顯示用戶答題所用的時間
2、程序可以出單個整數階乘的題目:如:4!=24
3、程序可以設置皮膚功能,可以改變界面的顏色即可。
4、用戶答題結束以后,程序可以顯示用戶答題所用的時間
?
本人負責的是:窗口的設計與制作、題目的輸出、答案的對比、按鈕點擊時間、代碼整合。
結對對象做的是:皮膚功能,統計用戶所用時間,階乘功能
二、詳細設計
編程環境是:IntelliJ IDEA Community Edition 2017.2.3 x64
語言:java
由于之前我的是控制臺輸出的,所以現在就要弄一個可視化窗口,用到了JFram類。并且要在框架上面設置布局,并且把組件添加上去。然后把隨機出題的題目和答案分別裝進一個數組里面儲存起來,后面再把數組的題目對應輸出在窗口上。至于答案,就要獲取到用戶在文本框里面輸入的值,在與對應題目的答案對比,然后設置一個數,如果做對一道題這個數就加一,這樣就能記錄做正確的題目數。
詳細代碼我已經上傳到githup上面:
githup地址是:https://github.com/cmhbaba/test20180912/blob/master/Main.java
下面是部分代碼:
這個是新增的添加階乘的題目代碼:
public static long factorial(int n){if (n==0){return 1;}else {long num=n * factorial(n-1);return num;}}
這個是點擊確認按鈕,統計花費時間的代碼和統計正確題目的代碼:
在這里統計花費時間,我們是在前面點擊開始按鈕的時候,會獲取系統時間,然后點擊確認之后就會提交答案并且統計,這時候就會在此獲取系統時間,與前一次相減,就獲得了所用的總共時間,再把時間顯示帶窗口上,
if (e.getSource()==endButton){//點擊確認按鈕做的事情Long endTime=System.currentTimeMillis();long timeout=(endTime-timec)/1000;time.setText("總共花費的時間為"+timeout+"s");d1=(int) Double.parseDouble(K1.getText());d2=(int) Double.parseDouble(K2.getText());d3=(int) Double.parseDouble(K3.getText());d4=(int) Double.parseDouble(K4.getText());d5=(int) Double.parseDouble(K5.getText());int answerT=0,answerF=0;if (d1==daan[0]){K1.setText(String.valueOf(daan[0]));answerT++;}else{answerF++;}if (d2==daan[1]){K1.setText(String.valueOf(daan[1]));answerT++;}else{answerF++;}if (d3==daan[2]){K1.setText(String.valueOf(daan[2]));answerT++;}else{answerF++;}if (d4==daan[3]){K1.setText(String.valueOf(daan[3]));answerT++;}else{answerF++;}if (d5==daan[4]){K1.setText(String.valueOf(daan[4]));answerT++;}else{answerF++;}K6.setText(String.valueOf(answerT));}
下面是改變窗體顏色的代碼:
窗口上有一個按鈕,點擊就會改變窗體背景顏色。
if (e.getSource()==changButton){//點擊改變顏色按鈕事件int color=new Random().nextInt(5);switch (color){case 0:{p1.setBackground(Color.orange);break;}case 1:{p1.setBackground(Color.BLUE);break;}case 2:{p1.setBackground(Color.green);break;}case 3:{p1.setBackground(Color.yellow);break;}case 4:{p1.setBackground(Color.pink);break;}}}
三、運行結果
?
四、總結
由于之前是在控制臺輸出的,雖然之前做過可視化窗口的設計,但是由于太久沒做就忘記了,也是在網上找了很久的和查書才慢慢想起來怎么做,一點點的做出來的,總體上沒什么問題。
五、工作照片
?
轉載于:https://www.cnblogs.com/cmhbaba/p/9867753.html
總結
以上是生活随笔為你收集整理的【软件工程实践】结对项目-四则运算 “软件”之升级版的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ3508 开灯 [校内NOIP
- 下一篇: Emit学习笔记