public static void main(String[] args) {
int[] anArray=new int[100];
int i=0;
for(i=0;i<anArray.length;i++)
{
anArray[i]=(i+1);
System.out.println(anArray);
}
}
这就是我所拥有的,但我得到的只是印刷了100次。
[I @ 58e5ebd
如何让它在单独的行上打印1-100?
答案 0 :(得分:3)
由于您正在使用System.out.println(anArray);
,因此在您的情况下打印数组对象本身[I@58e5ebd
,但您需要打印每个元素,并且可以访问位于{{1}的元素使用index
所以你应该使用它,
anArray[index]
答案 1 :(得分:2)
您可以在不使用数组的情况下完成相同的任务(除非您只是尝试练习数组)。
for( i = 1; i <= 100; i++)
{
System.out.println(i);
}
编辑:使用数组。您试图打印数组对象本身。这将为您提供内存位置。您实际上想要打印索引,即anArray[0]
,索引0
int[] anArray = new int[100];
int i;
for( i = 0; i < anArray.length; i++)
{
anArray[i] = (i + 1);
System.out.println([i]);
}
注意:在运营商之间放置空格。使代码更具可读性
答案 2 :(得分:1)
你真正得到的是输出是对象anArray
的地址。
如果要打印此数组的每个元素,则必须遍历它并打印anArray[i]
答案 3 :(得分:0)
代码System.out.println(anArray);
试图直接打印整个int []数组。由于int []是引用类型,并且它不会覆盖toString()
方法,因此当您尝试打印[I@58e5ebd
数组时,您将面临int[]
。
请参阅,使用anArray[i]=(i+1);
为int []数组中的每个元素分配,您可以直接打印它。
所以只需使用
System.out.println(anArray[i]);
而不是
System.out.println(anArray);
答案 4 :(得分:0)
如何让它在单独的行上打印1-100?
System.out.println(-99);
答案 5 :(得分:0)
System.out.println(anArray);
打印对象而不是元素
正确
System.out.println(anArray[i]);
答案 6 :(得分:0)
在您的代码中,您不是打印数组的当前索引值,而是打印整个数组对象。
[I@58e5ebd
您看到的结果不是您预期的输出结果,因为'@'之后的值是十六进制的对象哈希码。
打印数组当前索引值的正确代码是:
System.out.println(anArray[i]);