作业4 ,附加题

和我一次完成这次作业的是段天旭 130201103  博客地址是:http://home.cnblogs.com/u/Alvin-D/

实现的功能:根据程序要求,该系统具有以下功能:主界面随机出十道100以内四则运算数学题,能根据题目计算出答案。用户点击开始按钮开始计时答题,点击提交按钮,程序自动判断做题是否正确,最后计算分数和时间。

任务及其分工:我们两个人的分工很明确,因为我们俩的基础都很薄弱,所以首先得查资料,结合以前的知识还有通过资料给我们带来的新的见解,来进行程序的设计及实现!我主要是进行程序编写环节,段天旭主要进行查错与补漏!两个人分工明确!

优点及其缺点:我的优点是自学能力强,掌握东西扎实,吸收汲取能力强,缺点是没有耐心!

                    段天旭的优点是有耐心,合作能力强,缺点是没有很高的知识!

配对编程的优点:能够发挥两个人的最大的能力,能够互补,更好的进行编程任务。缺点是容易产生依赖感,容易有懒惰的心态在里面,从而不利于团队的发展,所以,我们要尽量完善并改进这两个缺点,每个人都发挥最大的特长!

 

照片:

因为我们两个人是在首都图书馆进行编程的,所以没有把人照进去。

 

代码及截图:以下两张图是VS界面图:

 

 

主要代码展示://启动计时

 public void startTimer() 

{ new java.lang.Thread(new Runnable(){ 

 public void run() 

{ while(running) 

 { try{ 

Thread.sleep(1000);//睡一秒

catch(Exception e){} 

timer++; 

time.setText("

已使用: 

" + String.valueOf(timer) + " 秒"); 

} } 

 }).start(); 

} private void InitQuestion() 

questions = new ArrayList(10); 

answers = new ArrayList(10); 

String[] operations = {"+","-","*","/"}; 

Random random = new Random(); 

String operation = null; 

int num1 = 0; 

int num2 = 0; 

for(int i = 0; i < 10; i++) 

//自动生成运算符

operation = operations[(int)(random.nextDouble()*10*2/5)]; 

//自动生成2个100以内的数

num1 = (int)(random.nextDouble()*100);  

num2 = (int)(random.nextDouble()*100); 

if(operation.equals("+")) 

answers.add(i, s.valueOf(num1+num2)); 

questions.add(i, num1 + " + " + num2 ); } 

 else if(operation.equals("-")) 

{ answers.add(i, s.valueOf(num1-num2)); 

answers.add(i, s.valueOf(num1+num2)); 

//自动生成运算符

operation = operations[(int)(random.nextDouble()*10*2/5)]; 

//自动生成2个100以内的数

num1 = (int)(random.nextDouble()*100); 

num2 = (int)(random.nextDouble()*100); 

if(operation.equals("+")) 

{ answers.add(i, s.valueOf(num1+num2)); 

questions.add(i, num1 + " + " + num2 ); 

} else if(operation.equals("-")) 

{ answers.add(i, s.valueOf(num1-num2)); 

questions.add(i, num1 + " - " +num2); 

 

 

原文地址:https://www.cnblogs.com/cbrian/p/5360257.html