Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 打印带有用户输入的数组。将第一个值返回零?_Java_Arrays_User Input - Fatal编程技术网

Java 打印带有用户输入的数组。将第一个值返回零?

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 =

我不确定我到底做了什么,但我的目标是接受用户的10个数字并将它们存储到一个数组中。然后我可以按收到的顺序打印出来。我相信我已经做到了,除了第一个值在输出中默认为零,我不知道如何修复它。有什么帮助吗

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
。我现在理解了。谢谢!