我是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);
}
}
答案 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]);
}
希望有所帮助