/**100以内随机两个数的加减法
* 1)随机产生的两个数不重复
* 2)正确得10分,错误扣5分,最后输出总分
* 3)如果总分小于0,则总分为0
* 4)输入Y开始,输入N结束
*/
主要联系了For循环的使用,其中随机产生的两个不重复数,利用了两次For循环,使用i--自减1达到重新取数的功能。
import java.util.Random;
import java.util.Scanner;
public class Ex1_0309 {
public static void main(String[] args) {
while(true){
System.out.println("输入Y进行测验,输入N退出测验!");
Scanner sc = new Scanner(System.in);
String choice = sc.next();
if(choice.equals("Y")) {
System.out.println("Test Start!");
test();
}
else if(choice.equals("N")) {System.out.println("测试结束!");
break;}
else continue;
}
}
public static int test(){
int number =3;
int score = 0;
int[] number1= new int[number];
int[] number2 = new int[number];
int true_result[] = new int[number];
int[] test_result = new int[number];
Random random = new Random();
Scanner sc = new Scanner(System.in);
for (int i=0;i<number;i++){
number1[i] = random.nextInt(100);
number2[i] = random.nextInt(100);
for(int j=0;j<i;j++){
if(number1[i]==number2[i] ||number1[j]==number2[j]|| number1[i]==number2[j]
||number2[i]==number2[j]) i--;
}
true_result[i] = number1[i]+number2[i];
System.out.println(number1[i] +"+"+number2[i]+"=");
test_result[i]=sc.nextInt();
if (test_result[i] ==true_result[i] ){
score+=10;
System.out.println(" 正确得10分!");
}
else {System.out.println("错误!");
score-=5;
}
}
if (score<=0) score =0;
System.out.println("最后的成绩是:"+score+"\n");
return score;
}
}