在数组java上添加值

时间:2014-12-03 10:46:21

标签: java arrays

我不知道出了什么问题。数组应该是Number或int。

这是我的代码:

Number[] freq;

    int place = 0;

    BufferedReader br = new BufferedReader(new FileReader(new File("this.txt")));

    String read;

    String[] temp;

    int num;

    while((read = br.readLine())!=null)
    {
        temp = read.split(",");
        for(int i = 0; i<=temp.length; i++)
        {
            String t = temp[i];
            num = Integer.parseInt(t);
            freq[place] = num;
            place++;
        }

    }

    System.out.println("done");

它不应该输出一些重要的结果,但我需要它工作。 我总是得到错误

variable freq might not have been initialized.
freq[place] = num;

3 个答案:

答案 0 :(得分:3)

您必须初始化阵列。

Number[] freq = new Number[someSize]

答案 1 :(得分:2)

您需要为数组设置大小。由于您在评论中指出它必须是动态的,因此您必须使用可以与动态长度一起使用的其他类型的变量,例如ArrayList。

见这个例子:

// initialize an ArrayList:
List<Number> freq = new ArrayList<Number>();
BufferedReader br = new BufferedReader(new FileReader(new File("this.txt")));

String read;
String[] temp;

int num;

while((read = br.readLine())!=null)
{
    temp = read.split(",");
    for(int i = 0; i<=temp.length; i++)
    {
        String t = temp[i];
        num = Integer.parseInt(t);
        freq.add( num );
    }

}

System.out.println("done");

答案 2 :(得分:0)

JAVA中使用数组之前,需要设置数组大小。

int[] someArray= new int[size]