我已经编写了下面的代码来检查数组的元素。我得到了所需的答案。我只是想知道应该做哪些更改,以便它将输出作为1, 2, 3, 4, 5.
当我写a[]
而不是b[]
时,代码会给我错误a is already defined in main(java.lang.String[])
。你能帮我吗?
class ArrayDemo15
{
public static void main(String a[])
{
int b[]=new int[5];
for(int i=0;i<5;i++)
{
System.out.println(b[i]+""+);
}
}
}
答案 0 :(得分:2)
你可以尝试
System.out.println(Arrays.toString(b));
查看主要方法的参数 - 它被称为a
,因此您无法将b
的名称更改为a
,因为这会导致两个变量一样的名字。也许您应该将其更改为main(String[] args)
。
相关文档
答案 1 :(得分:0)
int b[] = new int[5];
您的代码行只是创建一个新的int数组,其中包含5个空白元素。
int b[] = {1,2,3,4,5};
这一行会给你一个名为b的数组,其元素为1,2,3,4,5。
关于第二个问题,你的主要参数中有变量a[]
。
答案 2 :(得分:0)
“我只是想知道应该做些什么更改,以便它将输出作为1, 2, 3, 4, 5
”
如果您只想打印这些数字,那么您根本不需要数组。只需使用像
这样的循环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,
- 对于原始布尔,它是假的,
- 对于 Objects (如字符串),它为空。
因此,您需要先使用您的值填充数组。要做到这一点,你有两个选择
遍历数组并设置每个元素
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 })
当数组的所有元素都设置为正确的值时,您需要打印它。您可以使用内置实用程序A. R. S. pointed 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
答案 3 :(得分:0)
如果在不指定初始值的情况下初始化数组,Java会根据数组的类型将数组中的每个元素设置为默认值。 int的默认avlue是0.如果你想要[1,2,3,4,5]作为你的数组而不是[0,0,0,0,0],你可以在初始化时设置数组的内容,即int b[] = {1,2,3,4,5};
。您还可以在调用println
之前添加一行,在for循环中设置数组。
for(int i = 0; i < 5; i++){
b[i] = i+1;
System.out.println(b[i]);
}
您收到该错误的原因是您无法重新声明变量的类型,只能重新分配它。例如,
int a = 4;
int a = 5;
是不允许的,但是
int a = 4;
a = 5;
是允许的。在main方法中,数组a
被声明为String[]
,无法重新声明为int[]
。