如何将变量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 :(得分:0)
当前设置的方式除非用户知道只使用0或1,否则由于设置开关的方式而导致错误,请确保您有默认情况,因为它将获得所请求的所有值的。
另一个问题可能是有人说y为23。你将得到一个ArrayOutOfBounds错误。这是因为y是插入1或0的位置。
如果你希望它转到数组中的下一个位置,请执行David Wallace所说的并为该数组放置一个专用的新变量,以便在for循环中它将是
for(int i = 0; i<10; i++;) {
然后让数字数组通过标记像
这样的位置来改变它的位置numbers[i] = x;
答案 1 :(得分:0)
以下是您可以适应的示例:
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));
}
}