我编写了下面的代码来检查数组的元素

时间:2013-01-14 01:20:26

标签: java

我已经编写了下面的代码来检查数组的元素。我得到了所需的答案。我只是想知道应该做哪些更改,以便它将输出作为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]+""+);
        }
    }
}

4 个答案:

答案 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 (如字符串),它为空。

因此,您需要先使用您的值填充数组。要做到这一点,你有两个选择

  1. 遍历数组并设置每个元素

    for (int index = 0; index < b.length; index++) {
        b[index] = index + 1;
    }
    
  2. 在创建数组时提供所有值,例如
    • 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 })
  3. 当数组的所有元素都设置为正确的值时,您需要打印它。您可以使用内置实用程序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[]