//版本2.0
package text1;
import java.util.*;
//import java.util.concurrent.TimeUnit;
//import java.util.Scanner;
//import java.util.Random;
author: 尹灏
public class text1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int v=0,n=0,num=50,score=0,time,time1,time2=30,time3=0,time4; //答对题数,答错题数,设置题数,初始分数,初始时间,结束时间,持续时间,剩余时间,使用的时间
Calendar cal1=Calendar.getInstance();//获取现在时间
int h1=cal1.get(Calendar.HOUR_OF_DAY);
int mi1=cal1.get(Calendar.MINUTE);
int s1=cal1.get(Calendar.SECOND);
time1=time2+mi1;
System.out.println("现在时间是"+h1+"时"+mi1+"分:"+s1+"秒 考试时间 30 分钟,请合理安排时间!" );
for(int i=0;i<num;i++){
int x,y,d; //输入的数,正确答案,题号
int c=0,e=100/num; //错题数
d=i+1;
int a=(int)(Math.random()*10+1); //随机数
int b=(int)(Math.random()*10+10);
do{
System.out.println("请计算以下的算式");
y=a*b;
System.out.print("第"+d+"题"+a+"*"+b+"=");
Scanner scanner=new Scanner(System.in); //输入结果
x=scanner.nextInt();
System.out.print("\t\t\t\t");
if(x!=y){System.out.print("计算错误,请重新输入");
c++;n++;
score=score-c;
}
else {System.out.print("正确!");
score=score+e;
v++;
//计算分数
}
// System.out.println(a*b);
if(c==2){
x=y; //错误超过2次,展示答案,继续下一题
System.out.println();
System.out.println("正确答案是"+a+"*"+b+"="+a*b);}
}while(x!=y);
//设置考试时长,时间到自动交卷
Calendar cal=Calendar.getInstance();
int h=cal.get(Calendar.HOUR_OF_DAY);
int mi=cal.get(Calendar.MINUTE);
int s=cal.get(Calendar.SECOND);
if(h1==h)time3=time1-mi;
else time3=time1-60-mi;
System.out.println("现在时间是"+h+"时"+mi+"分:"+s+"秒 \n\t\t\t\t你还有"+time3+"分钟的时间作答");
if(time3<=0) {System.out.println("时间到,交卷!");
break;
}
}
//展示分数
time4=time2-time3;
System.out.print("你的分数是"+score+"你答对了"+v+"个题"+"你答错了"+n+"个题用时"+time4+"分");
}
}
功能如下:
实现判断功能,循环每出一道题,
写出答案后判断对错,正确则循环下一道题,错误则继续输入.
也可发展成为展示答案的功能,超过3次错误,自动显示答案,转到下一题
实现计分系统
//实现计时功能,时间到,强