数组未显示正确的值

时间:2013-08-26 08:17:36

标签: java

我是java的新手,我创建了接受8个值的数组。它工作正常,也接受值,但它没有在控制台上显示正确的输出,请帮助我解决问题??

这是我的代码,

import java.util.*;


public class array2

{
    public static void main(String []args)

    {


        Scanner scan=new Scanner(System.in);    
    int[] nums=new int[8];  

        for(int count=0;count<8;count++)

        {

            nums[count]=scan.nextInt();     

        }


        System.out.println(nums);


    }



}

6 个答案:

答案 0 :(得分:3)

使用System.out.println(Arrays.toString(nums));import java.util.Arrays执行此操作)

如果您只是说System.out.println(nums);,它只会打印对数组的对象引用,而不是实际的数组元素。这是因为数组对象不会覆盖toString()方法,因此使用default toString() method from Object class打印它们,它只打印对象实例的[类名] @ [hashcode]。

答案 1 :(得分:1)

这是因为您正在打印数组对象而不是元素

使用此

for(int i : nums){
   System.out.println(i);
}
  • 输出中的[符号表示正在打印的对象 是一个阵列。
  • 或者,你可以这样做 System.out.println(Arrays.toString(nums));。这给出了数组的String表示。

答案 2 :(得分:1)

在Java中打印这样的数组是不可能的,你可能会得到类似“[我”...的东西 尝试循环:

for (int n=0; n<nums.length; ++n)
  System.out.println(nums[n]);

答案 3 :(得分:0)

循环显示数组:

for(int count=0; count<8; count++)
{
   System.out.println(nums[count])
}

您正在打印数组引用,而不是它们的元素。

答案 4 :(得分:0)

您需要使用Arrays.toString(int[])来创建包含期望值的字符串。目前,您正在打印数组本身的字符串表示。

答案 5 :(得分:0)

nums [count] = scan.nextInt()只会打印数组的内存位置,而不会打印数组内容。要打印数组内容,您需要像插入时一样循环。我会尝试:

for(int count=0;count<8;count++){

    System.out.println(nums[count]);
 }

希望有所帮助