【发布时间】:2021-11-01 11:29:29
【问题描述】:
所以我需要一个返回文本文档数组的脚本。文件全是数字。每次我尝试运行它时,我都会收到此消息“此方法必须返回 int [] 类型的结果”,这是在检查器部分下。我正在尝试将它返回到另一个类,以便我可以将数组用于 if 语句。谁能帮我解决这个问题?
import java.io.File; // Import the File class
import java.io.FileNotFoundException; // Import this class to handle errors
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Scanner; // Import the Scanner class to read text files
public class ReadFile {
public static int[] checker(){
try {
File myObj = new File("Tracker.txt");
Scanner myReader = new Scanner(myObj);
while (myReader.hasNextLine()) {
String data = myReader.nextLine();
String[] moreData = data.split("\n");
int day = Integer.parseInt(moreData[0]);
int Posts = Integer.parseInt(moreData[1]);
return new int[] {day, Posts};
}
myReader.close();
} catch (FileNotFoundException e) {
return new int[] {0, 0};
}
}
}
预期结果是:{0, 40}
【问题讨论】:
-
请告诉我们您的方法的预期输出应该是什么。从您的代码中并不清楚,它充满了问题。
-
抱歉,我是 java 新手,还在尝试弄明白。
-
我添加了预期的结果
-
所有可能的返回路径都必须返回
int[]。在您的代码中,myReader.hasNextLine()可能会返回false。在这种情况下,由于既没有输入while循环也没有输入catch块,因此无法到达return语句。 -
“文件全是数字” - 以什么方式?他们在不同的行吗?用空格隔开?除了修复明显的编译器错误之外,很难为问题提出准确的解决方案