我想在 java 中声明一个空数组,然后我想更新它但代码不起作用

Sai*_*lan 20 java arrays

我想在java中声明一个空数组,然后我想更新它但代码不起作用......

public class JavaConversion
{
    public static void main(String args[])
    {
        int array[]={};
        int number = 5, i = 0,j = 0;
        while (i<4) {
            array[i]=number;
            i=i+1;
        }
        while (j<4) {
            System.out.println(array[j]);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Ros*_*rew 24

您正在创建一个长度为零的数组(没有可放入任何内容的插槽)

 int array[]={/*nothing in here = array with no elements*/};
Run Code Online (Sandbox Code Playgroud)

然后尝试为数组元素赋值(你没有,因为没有插槽)

array[i] = number; //array[i] = element i in the array of length 0
Run Code Online (Sandbox Code Playgroud)

您需要定义一个更大的数组来满足您的需求

 int array[] = new int[4]; //Create an array with 4 elements [0],[1],[2] and [3] each containing an int value
Run Code Online (Sandbox Code Playgroud)


Mag*_* Xy 9

你的代码编译得很好。但是,您的数组初始化行是错误的:

int array[]={};
Run Code Online (Sandbox Code Playgroud)

这样做是声明一个数组,其大小等于括号中的元素数。由于括号中没有任何内容,因此您说数组的大小为 0 - 这使数组完全无用,因为现在它无法存储任何内容。

相反,您可以直接在原始行中初始化数组:

int array[] = { 5, 5, 5, 5 };
Run Code Online (Sandbox Code Playgroud)

或者您可以声明大小然后填充它:

int array[] = new int[4];
// ...while loop
Run Code Online (Sandbox Code Playgroud)

如果您事先不知道数组的大小(例如,如果您正在读取文件并存储内容),您应该使用 anArrayList代替,因为这是一个随着更多元素而动态增长的数组添加到它(用外行的话)。


brs*_*o05 7

你需要给数组一个大小:

public static void main(String args[])
{
    int array[] = new int[4];
    int number = 5, i = 0,j = 0;
    while (i<4){
        array[i]=number;
        i=i+1;
    }
    while (j<4){
        System.out.println(array[j]);
        j++;
    }
}
Run Code Online (Sandbox Code Playgroud)