阵列打印 Java

Array Printing Java

基本上我希望我的代码能够让用户输入 x 个整数(他们选择了 x),然后他们会将每个输入的整数值存储在我的数组中。

出于某种原因,当我在输入所有值后打印数组时:

我明白了:

代码:

    Scanner input = new Scanner(System.in);
    System.out.print("How many integers will you enter:");
    int amount = input.nextInt();

    int myArray[] = new int[amount];

    for (int counter = 0; counter < amount; counter ++){
        myArray[counter] = input.nextInt();
    }
    System.out.println(myArray);

控制台:

        How many integers will you enter:2
        4
        2
       [I@55f96302

你得到的字符串是预期的数组的对象符号[I@55f96302 where

  • [I 是 class 名字
    • [一维数组
    • I整数数组
  • @加入字符串
  • 55f96302一些哈希码

打印数组做

System.out.println(Arrays.toString(myArray));

或者您可以简单地遍历数组的每个元素

好的,你可以把for循环去掉,这样搞

System.out.println(Arrays.toString(myArray));

我强烈建议使用 for 循环。 每次循环运行时它一次打印一个元素,并且使用 for 循环遍历每个元素。您需要将 println 更改为此(在您的 for 循环中)

System.out.println(myArray[counter]);

或者如果您希望数组在同一行

System.out.print(myArray[counter]+ " ");

稍后在编程时您将看到它与 Arrays.toString() 方法相比有多么有用。

您也可以使用java.util.ArrayList

ArrayList<Integer> myArray = new ArrayList<Integer>(amount);

for (int counter = 0; counter < amount; counter ++){
 myArray.add(counter,input.nextInt());
}
System.out.println(myArray);

像这样打印数组 -> [1, 2, 3, 4]