这是我的代码:
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;
答案 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]