如何将变量1和0分配给数组,同时循环更改要分配给该数组中的下一个位置的变量?
int number[] = new int[10];
for(int i=0; i<10; i++)
{
Scanner attendance = new Scanner(System.in);
int inp = attendance.nextInt();
int y = inp;
switch (inp)
{
case 1:
number[y] = 1;
y--;
break;
case 0:
number[y] = 0;
y--;
break;
}
当前的设置方式,除非用户知道只使用0或1,否则由于开关的设置方式,您将获得错误,请确保您有默认情况,因为它将获得请求的所有值。
另一个问题可能是,有人说,23为y,你会得到一个ArrayOutOfBounds错误。这是因为y是插入1或0的位置。
如果你想让它转到数组的下一个位置按照David Wallace所说的那样为数组添加一个新的专用变量这样在for循环中它将是
for(int i = 0; i<10; i++;) {
然后通过像
这样标记数字数组来改变它的位置numbers[i] = x;
下面是一个你可能会适应的例子:
import java.util.Arrays;
import java.util.Scanner;
public class StackOverflow40268692 {
public static void main(String... args) {
final int number[] = new int[10];
System.out.println("Please enter ten attendance numbers. One and zero are valid entries.");
final Scanner attendance = new Scanner(System.in);
for (int i = 0; i < 10; i++) {
System.out.println("Please enter attendance number for position " + i);
final int inp = attendance.nextInt();
switch (inp) {
case 1:
case 0:
number[i] = inp;
break;
default:
System.out.println("Invalid entry.");
i--;
}
}
System.out.println("Collected data: " + Arrays.toString(number));
}
}