gpt4 book ai didi

java - 即使已初始化,也会出现 "Variable data not initialized"错误

转载 作者:行者123 更新时间:2023-11-29 09:53:08 24 4
gpt4 key购买 nike

我有一段时间没有接触 Java,所以我对一些细节有些生疏。

我正在尝试从一个充满数字的文件中读取所有内容。文件中的第一个数字告诉我文件中还有多少其他数字,以便我可以适当调整数组大小。我试图获取这些数字并将它们放入一个整数数组中,但我在返回语句中不断收到“错误:变量数据可能尚未初始化”。我知道这必须是简单的事情,但我无法终生找出我做错了什么简单的事情。

public static int[] numbers(String filename)
{
int[] data;

try
{
FileReader input = new FileReader(filename);
BufferedReader buffer = new BufferedReader(input);

int arraySize = Integer.parseInt(buffer.readLine());
data = new int[arraySize];

for (int x = 0; x < arraySize; x++)
{
data[x] = Integer.parseInt(buffer.readLine());
}

buffer.close();
}

catch(Exception e)
{
System.out.println("Error reading: "+e.getMessage());
}

return data;
}

最佳答案

如果在 try block 中抛出异常,则 data 可能在返回时尚未初始化。

在声明时将其初始化为某些内容,即使值为 null,以满足编译器要求。

另一方面,IOException 似乎是此处抛出的唯一异常。或者,您可以将您的方法声明为抛出 IOException,并删除 try-catch block ,以便 data如果 return 语句被执行, > 总是被初始化。您当然需要在调用您的 numbers 方法的方法中捕获异常。

关于java - 即使已初始化,也会出现 "Variable data not initialized"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29130385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com