java每次都将输入值与数组中的一个元素进行匹配
我做了一个生成随机数的函数,我想把所有生成的随机数都放在一个数组中。我做了一个登录操作,我想检查输入的数字是否与数组中的至少一个元素与生成的数字匹配
现在我的问题是,每当我输入一些数字时,程序只检查数组的最后一个元素。这是我的密码:
int sukicode[] = new int[100];
int count = 0;
boolean again = true, notReg = true;
Scanner scan = new Scanner(System.in);
Random rand = new Random();
while (again) {
int x;
for (x = 1000; x < 9000; ) {
x = rand.nextInt();
}
count++;
System.out.println(x);
sukicode[count] = x;
System.out.println("[1]Display array?\n[2]Log in\n[3]Generate random number");
System.out.print("Select: ");
int ch = scan.nextInt();
if (ch == 1) {
again = false;
for (int i = 1; i <= count; i++) {
System.out.println(sukicode[i]);
}
} else if (ch == 2) {
again = false;
while (notReg) {
System.out.print("\nEnter number: ");
int a = scan.nextInt();
if (a == sukicode[count]) {
notReg = false;
System.out.println("Hi");
} else {
notReg = true;
System.out.println("You're not in yet!");
}
}
} else if (ch == 3) {
again = true;
}
}
以下是我的输出中的问题:
1918509534
[1]Display array?
[2]Log in
[3]Generate random number
Select: 3
2043799299
[1]Display array?
[2]Log in
[3]Generate random number
Select: 3
279697469
[1]Display array?
[2]Log in
[3]Generate random number
Select: 3
622842603
[1]Display array?
[2]Log in
[3]Generate random number
Select: 2
Enter number: 279697469
You're not in yet!
程序无法接受该数字,尽管它在我的数组中。我该怎么办
# 1 楼答案
您需要一个for循环,并将数组中的所有值与用户输入进行比较。现在,你只是比较计数时的元素,它总是最后一个元素
要生成9000以上的随机数,您可以
注意,在数组中插入后,我移动了
count++
。这样做是为了利用数组的第一个索引0
。否则,它将第一个值存储在索引1
处输出: