您的位置:首页 > 其它

实验二--四则运算-升级版--2

2015-04-08 23:56 169 查看
import java.util.*;
import java.util.Random;
import java.text.DecimalFormat;
public class SiZe {
public static void main(String[] args) {

String[] str_1 = new String[] {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
String[] str_2 = new String[] { "+", "-", "*", "/"};
int index_1 = 0;
int index_2 = 0;
int[] a = new int[2];
double data = 0;
double answer = 0;
int num = 0;
int  num_1 = 0;
DecimalFormat dFormat=new DecimalFormat("#.00");

while(num_1 > 5 || num_1 <= 0)
{
System.out.print("请输入题目的数量(题目数量最多不能超过5个): ");
Scanner sc = new Scanner(System.in);
num_1 = sc.nextInt();
}
System.out.println("注意!除法计算结果保留两位,含四舍五入!!");
long t1=System.currentTimeMillis();
for(int k = 0; k < num_1; k++)
{
System.out.print("第"+(k+1)+"道题:");
for(int i = 0; i < 2; i++)
{
index_1 = new Random().nextInt(9);

if(str_2[index_2].equals("/") && index_1 != 0)
{
while(index_1 == 0)
{
index_1 = new Random().nextInt(9);
}
}
a[i] = index_1;
if(i != 1)
{
index_2 = new Random().nextInt(4);
}
}

System.out.print(str_1[a[0]]+str_2[index_2]+str_1[a[1]]+"=");
Scanner input = new Scanner(System.in);
data =input.nextDouble();

switch(index_2)
{
case 0:
answer = a[0] + a[1];
break;
case 1:
answer = a[0] - a[1];
break;
case 2:
answer = a[0] * a[1];
break;
case 3:
answer = (double)a[0] / a[1];
answer = (Math.round(answer*100)/100.0);
break;
}

if(data == answer)
{
System.out.println("你输入的答案正确!");
num++;
}
else
{
System.out.println("你输入的答案错误!正确答案是: "+answer);

}

System.out.println();
if((System.currentTimeMillis()-t1)/1000 >= 120)

{
System.out.println("时间已到,不能答题!");
break;
}
}
System.out.println(num_1+"道题目,你一共答对"+num+"道题目!");
System.out.println("完成"+num+"道题目所用时间为: "+ (System.currentTimeMillis()-t1)/1000 + "秒!");
}

}







内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: