“我只想知道我应该做些什么改变,这样它才能给我输出1, 2, 3, 4, 5
“
如果您只想打印这些数字,那么您根本不需要数组。只需使用 for 循环
int counter=1;
for (counter=1; counter<=4; counter++)
System.out.print(counter+", ");
//after loop print last element without comma
System.out.println(counter);
但是,如果您坚持改进代码并使用数组,请继续阅读此答案...
现在你的代码给出了编译错误,System.out.println(b[i]+""+);
因为+
在这种情况下是两个参数运算符,你只给它一个参数。将其更改为类似
System.out.print(b[i]+", ");
我print
改用了println
,因为你不想在数字之间有新的换行符。
目前您的数组也填充了零,因为所有新数组都填充了一些默认值:
- 对于原始数字类型(int、byte、double 等)的数组,默认值为 0,
-对于原始布尔值,它是 false,
- 对于对象(如字符串),它为空。
所以你需要先用你的值填充你的数组。为此,您有两种选择
遍历数组并设置每个元素
for (int index = 0; index < b.length; index++) {
b[index] = index + 1;
}
- 在创建数组时提供所有值,例如
int[] b1 = { 1, 2, 3, 4, 5 };
此版本仅供参考
int[] b2 = new int[]{ 1, 2, 3, 4, 5 };
这个版本不需要参考,可以在任何地方使用,例如作为一些接受 int 数组的方法的参数Arrays.sort(new int[]{ 5, 3, 1, 4, 2 })
当数组的所有元素都设置为正确的值时,您需要打印它。您可以使用ARS 指出 的内置实用程序System.out.println(java.util.Arrays.toString(b))
执行此操作,也可以使用循环自己执行此操作
for (int i = 0; i < b.length - 1; i++) {// b.length - 1 I don't want to
// print last element here since I don't want to add comma
// after it
System.out.print(b[i] + ", ");
}
// now it is time for last element of array
System.out.println(b[b.length - 1]);
//since b[]={1,2,3,4,5} b.length=5 so it will print b[4] -> 5