标签:
import java.util.*; public class calculate { public static void main(String[] args) { T t=new T(); } } class T { Scanner sc = new Scanner(System.in); Random Ra = new Random(); char[] cal = { ‘+‘, ‘-‘, ‘*‘, ‘/‘ }; char c; int n = 10; long startTime; long endTime; long time; T() { System.out.print("1:人选\n2:机选"); int choice = sc.nextInt(); switch (choice) { case 11: { int right = 0;int b1=0; System.out.print("请输入习题数:"); int user_cho = sc.nextInt(); for (int i = 0; i < user_cho; i++) { int s=Ra.nextInt(3); switch(s){//生成随机数,控制式子中的运算符 case 0:{ int index = Ra.nextInt(cal.length);// 生成符号,随机数 c = cal[index]; int a = Ra.nextInt(100); int b = Ra.nextInt(100); if (c == ‘/‘ && b == 0) { index = Ra.nextInt(cal.length);// 生成符号,随机数 c = cal[index]; } System.out.printf("%d%c%d\n", a, c, b); switch(c){//计算随机数的值 case ‘+‘:{ b1=a+b; } break; case ‘-‘:{ b1=a-b; }break; case ‘*‘:{ b1=a*b; } break; case ‘/‘:{ b1=a/b; } break; } startTime = System.currentTimeMillis();//开始时间 int a1 = sc.nextInt(); if(a1==b1){System.out.print("答案正确!\n");right++;}//比较大小 else System.out.printf("答案有误!正确答案是%d\n",b1); } endTime = System.currentTimeMillis();//结束时间 time = endTime - startTime; int time1 = (int) (time / 1000); System.out.printf("用时%ds,答对%d题", time1,right); break; case 1:{ int index = Ra.nextInt(cal.length);// 生成符号,随机数 c = cal[index]; int a = Ra.nextInt(100); int b = Ra.nextInt(100); int d = Ra.nextInt(100); System.out.printf("%d%c%d%c%d\n", a, c, b,d); switch(c){//计算随机数的值 case ‘+‘:{ b1=a+b+d; } break; case ‘-‘:{ b1=a-b-d; }break; case ‘*‘:{ b1=a*b*d; } break; case ‘/‘:{ b1=a/b/d; } break; } startTime = System.currentTimeMillis();//开始时间 int a1 = sc.nextInt(); if(a1==b1){System.out.print("答案正确!\n");right++;}//比较大小 else System.out.printf("答案有误!正确答案是%d\n",b1); } endTime = System.currentTimeMillis();//结束时间 time = endTime - startTime; int time11 = (int) (time / 1000); System.out.printf("用时%ds,答对%d题", time11,right); break; case 2:{ int index = Ra.nextInt(cal.length);// 生成符号,随机数 c = cal[index]; int a = Ra.nextInt(100); int b = Ra.nextInt(100); int d = Ra.nextInt(100); int e = Ra.nextInt(100); System.out.printf("%d%c%d%c%d%c%d\n", a, c, b,c,d,c,e); switch(c){//计算随机数的值 case ‘+‘:{ b1=a+b+d+e; } break; case ‘-‘:{ b1=a-b-d-e; }break; case ‘*‘:{ b1=a*b*d*e; } break; case ‘/‘:{ b1=a/b/d/e; } break; } startTime = System.currentTimeMillis();//开始时间 int a1 = sc.nextInt(); if(a1==b1){System.out.print("答案正确!\n");right++;}//比较大小 else System.out.printf("答案有误!正确答案是%d\n",b1); } endTime = System.currentTimeMillis();//结束时间 time = endTime - startTime; int time12 = (int) (time / 1000); System.out.printf("用时%ds,答对%d题", time12,right); break; } } } break; case 12: { int b2=0;int right=0; for (int i = 0; i < n; i++) { int index = Ra.nextInt(cal.length);// 生成符号,随机数 c = cal[index]; int a = Ra.nextInt(100); int b = Ra.nextInt(100); System.out.printf("%d%c%d\n", a, c, b); switch(c){ case ‘+‘:{ b2=a+b; } break; case ‘-‘:{ b2=a-b; }break; case ‘*‘:{ b2=a*b; } break; case ‘/‘:{ b2=a/b; } break; } startTime = System.currentTimeMillis(); int a2 = sc.nextInt(); if(a2==b2){System.out.print("答案正确!\n");right++;} else System.out.printf("答案有误!正确答案是%d\n",a+c+b); } endTime = System.currentTimeMillis(); time = endTime - startTime; int time1 = (int) (time / 1000); System.out.printf("用时%ds,答对%d题", time1,right); } break; } } }
关于程序:
开发环境:eclipse;
方向:
1:计算用户答题时间;
2:用户控制题数;
3:控制时间;
结对同伴:
黄伟俊 201306114423 http://www.cnblogs.com/hwj23/
陈汝婷 201306114454 http://i.cnblogs.com/EditPosts.aspx?opt=1
小结:
通过这一次的对结编程作业,最大的感想就是那句老话--“一人一个苹果,加起来就会有2个苹果,思想也是如此”。编写适用的软件需要团队的力量,光靠一个人是没有办法完成的,再一次体会到团队的重要性。 这一次的作业让我们开始有了一点点的经验;
1:看清要求,分析要点;刚刚拿到题目的时候应该看清楚题目的要求,详细的记住这个软件的功能要求是什么,不应该盲目写代码,因为那样我们会做太多的无用功;
2:把握细节,理清逻辑关系;编写软件的过程中应该按步骤进行,要有功能模块图等,很多人都这样说“软件的重要性是要理清楚逻辑,只要逻辑对了,注重一些细节,软件就会变得完善了”,我们也是这样觉得。所以在写该次代码的时候,我们先写好步骤,第一步应该做什么而第二步又应该如何进行;
3:写代码是一件相对枯燥乏味的事情,很容易让人烦闷。这也就是说编写代码时间不易过长。
作业缺陷:
1:没有达到最低要求。这是最大的缺陷,我们的程序还是以控制台为主;但这并不意味着我们不能将程序以界面的形式输出。只是时间紧急,但是我们会在接下来的时间继续完善本次作业。望老师能再给我们一点点时间。
2:扩展方向还差了一点点;
标签:
原文地址:http://www.cnblogs.com/chenruting/p/4409797.html