import java.util.Scanner;
/*
* 随机生成3个数(0-30)
给出3条提示语每次只能输入一个数字
将输入的数字与随机数比较如果猜中一个,三等奖,猜中二个二等奖;猜中三个一等奖
如果没有猜中打印“再来一盘”
*/
public class Randoms {
/**
* arr1 用来存放随机生成的数 arr2 用来存放输入的值
*/
int[] arr1 = new int[3], arr2 = new int[3];
// 记录正确的次数
int numberOfRandom;
private int i = 0, j = 0;
public void getRandomNumber() {
for (int i = 0; i < arr1.length; i++) {
arr1[i] = (int) Math.random() * 31;
}
// 保证数组中每个数值不相等
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr1.length; j++) {
if ((arr1[i] == arr1[j]) && (i != j)) {
getRandomNumber();
}
}
}
System.out.println("加载完毕!");
}
/**
* 获取键盘的输入
*/
public void getInput() {
Scanner scanner = new Scanner(System.in);
for (i = j; i < arr2.length - i; i++) {
System.out.print("请输入第" + (i + 1) + "个数:");
arr2[i] = scanner.nextInt();
System.out.println();
if (arr2[i] > 30 || arr2[i] < 0) {
System.out.println("请重新输入!");
j = i;
getInput();
}
}
}
/*
* arr1[i] - 1 操作使因为但输入两次相同的值是,也会增加一次增加一次猜对机会
*/
public void ifRandom() {
for (int i = 0; i < arr2.length; i++) {
for (int j = 0; j < arr1.length; j++) {
if (arr2[i] == arr1[j]) {
numberOfRandom++;
arr1[i] = -1;
}
}
}
switch (numberOfRandom) {
case 1:
System.out.println("切,才猜中一个,垃圾");
break;
case 2:
System.out.println("猜中两个,哼,运气好罢了");
break;
case 3:
System.out.println("恭喜猜中三个,但还需再接再厉");
break;
default:
System.out.println("哎,一个没中,再来一盘");
break;
}
}
public static void main(String[] args) {
boolean bool = true;
while (bool) {
Randoms random = new Randoms();
random.getRandomNumber();
random.ifRandom();
System.out.println("是否要再来一次?输入true以继续,输入false以退出。");
Scanner scanner = new Scanner(System.in);
bool = scanner.nextBoolean();
}
}
}