我正在尝试创建一个程序,用户可以在其中使用扫描仪创建阵列。在此示例中,如果第一个输入为4,则将初始化长度为4的数组。但是,在下一部分中,扫描仪将要求5个输入而不是4个输入。如果下一个输入是1 2 3 4 5,则最终输出将是[2,3,4,5]。我不确定为什么要输入5个输入而不是4个输入。有人可以告诉我我做错了什么吗?
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int n = s.nextInt();
int[] numbers = new int[n];
int input = s.nextInt();
for (int i = 0; i < n; i++) {
numbers[i] = s.nextInt();
}
System.out.println("---------");
for (int x : numbers) {
System.out.print(x);
}
}
}
答案 0 :(得分:2)
第int input = s.nextInt();
行正在使用第一个输入。这就是为什么要从2
的索引0'th
初始化数组的原因。
删除行int input = s.nextInt();
,它将正常工作