int [] array01={11,22,33,44,55};
ArrayTraverse(array01);
}
public static void ArrayTraverse(int [] array){
System.out.print("[");
for(int i=0;i<array.length-1;i++){
System.out.print(array[i]+", ");
}
System.out.println(array.length-1+"]");
}
}
求指教:为什么这个输出的是{11 22 33 44 4}?
array01长度是5,你循环5-1次自然只能输出4位,最后一位4是你循环结束后输出5-1得来的
你的for循环里输出的,数组0-3的索引对应的值,最后的输出是数组的长度减去1,也就5-1。所以输出{11 ,22, 33, 44, 4}
如果你想遍历输出完整的数组信息,可以这样写
System.out.print("[");
for(int i=0;i<array.length;i++){
if(i==0){
System.out.print(array[i]);
}else{
System.out.print(","+array[i]);
}
}
System.out.println("]");
最后一行改为 System.out.println(array[array.length-1]+"]");
不用减一就行了
改一:
public static void ArrayTraverse(int [] array){
System.out.print("[");
for(int i=0;i<array.length-1;i++){
System.out.print(array[i]+", ");
}
System.out.println(array[array.length-1]+"]");
}
改二:
public static void ArrayTraverse(int [] array){
System.out.println(Arrays.toString(array));
}