Java 打印带有用户输入的数组。将第一个值返回零?
我不确定我到底做了什么,但我的目标是接受用户的10个数字并将它们存储到一个数组中。然后我可以按收到的顺序打印出来。我相信我已经做到了,除了第一个值在输出中默认为零,我不知道如何修复它。有什么帮助吗Java 打印带有用户输入的数组。将第一个值返回零?,java,arrays,user-input,Java,Arrays,User Input,我不确定我到底做了什么,但我的目标是接受用户的10个数字并将它们存储到一个数组中。然后我可以按收到的顺序打印出来。我相信我已经做到了,除了第一个值在输出中默认为零,我不知道如何修复它。有什么帮助吗 package array; import java.util.Scanner; import java.util.Arrays; public class Array { public static void main(String[] args) { int[] a =
package array;
import java.util.Scanner;
import java.util.Arrays;
public class Array {
public static void main(String[] args) {
int[] a = new int[10];
Scanner input = new Scanner(System.in);
System.out.println("Please enter ten numbers: ");
input.nextInt();
for(int j=0; j<10; j++)
a[j]=input.nextInt();
System.out.println("Your number list is:");
System.out.println(Arrays.toString(a));
}
}
}
封装阵列;
导入java.util.Scanner;
导入java.util.array;
公共类数组{
公共静态void main(字符串[]args){
int[]a=新的int[10];
扫描仪输入=新扫描仪(System.in);
System.out.println(“请输入十个数字:”);
input.nextInt();
对于(int j=0;j你的数组大小应该是10
(你的循环测试也应该是10
,或者更好-使用数组length
)。你应该使用大括号,这有助于防止细微的错误。我认为没有理由放弃第一个int
。把它们放在一起,就像
int[] a = new int[10];
Scanner input = new Scanner(System.in);
System.out.println("Please enter ten numbers: ");
for (int j = 0; j < a.length; j++) {
a[j] = input.nextInt();
}
System.out.println("Your number list is: ");
System.out.println(Arrays.toString(a));
int[]a=新的int[10];
扫描仪输入=新扫描仪(System.in);
System.out.println(“请输入十个数字:”);
对于(int j=0;j
你的数组大小应该是10
(你的循环测试也应该是10
,或者更好-使用数组length
)。你应该使用大括号,它有助于防止细微的错误。我认为没有理由放弃第一个int
。把它们放在一起,就像
int[] a = new int[10];
Scanner input = new Scanner(System.in);
System.out.println("Please enter ten numbers: ");
for (int j = 0; j < a.length; j++) {
a[j] = input.nextInt();
}
System.out.println("Your number list is: ");
System.out.println(Arrays.toString(a));
int[]a=新的int[10];
扫描仪输入=新扫描仪(System.in);
System.out.println(“请输入十个数字:”);
对于(int j=0;j
您已经定义了9
元素的数组,而不是10
更改此项:
int[] a = new int[9];
for(int j = 0; j < 9; j++)
为此:
int[] a = new int[10];
for(int j = 0; j < a.length; j++)
此外,请更改此项:
int[] a = new int[9];
for(int j = 0; j < 9; j++)
把它们放在环外
for (int j = 0; j < a.length; j++) {
a[j] = input.nextInt();
}
System.out.println("Your number list is:");
System.out.println(Arrays.toString(a));
for(int j=0;j
您已经定义了9
元素的数组,而不是10
更改此项:
int[] a = new int[9];
for(int j = 0; j < 9; j++)
为此:
int[] a = new int[10];
for(int j = 0; j < a.length; j++)
此外,请更改此项:
int[] a = new int[9];
for(int j = 0; j < 9; j++)
把它们放在环外
for (int j = 0; j < a.length; j++) {
a[j] = input.nextInt();
}
System.out.println("Your number list is:");
System.out.println(Arrays.toString(a));
for(int j=0;j
谢谢,我一开始粘贴了错误的代码。我尝试跳过索引0,看看这是否有什么不同。当然没有。你不需要在这里输入10个输入,只想指出。我现在应该相信了。我更新了code@JonathanRoberts你不能在只有九个元素的数组中输入十个数字。谢谢,我粘贴了错误的代码一开始。我试着跳过索引0,看看这是否有什么不同。当然没有。你在这里不接受10个输入,只是想指出。我现在应该相信了。我更新了code@JonathanRoberts你不能在只有九个元素的数组中输入十个数字。如果我错了,请原谅,数组索引不是从零开始的吗?那么调用10个位置实际上会输出11个,不?@JonathanRoberts数组中的有效索引是0
到length-1
。因此上面有10个元素的空间,有效索引是0
到9
。我现在明白了。谢谢!如果我错了,请原谅我,但是数组索引不是从零开始的吗?所以调用10个位置实际上会输出11个,不是吗?@JonathanRoberts数组中的有效索引是0
到length-1
。因此上面有10个元素的空间,有效索引是0
到9
。我现在理解了。谢谢!