标签:
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