我需要为数组创建自己的排序方法,然后我开始将文本文件拆分成一个充满单词的数组。文件格式为:整数n,后跟n个单词。
这是一个例子:4 hello hello world hello
然而,我的数组打印:[null4,hello,hello,world,hello]
WHY!我不明白为什么之前有一个null。并且,如果我删除了数字4(此时我的程序中没有任何作用),我得到:[nullhello,hello,world,hello]
你能帮我删除这个null吗?提前谢谢!
public static void main(String[] args) throws FileNotFoundException {
filePath = "***TEXT FILE HERE***";
fileInput = new Scanner(new File(filePath));
convertFile(fileInput);
}
public static void convertFile(Scanner file) {
String line;
while (fileInput.hasNextLine()) {
line = fileInput.nextLine();
fileData = fileData + line;
}
String[] array = createArray(fileData);
System.out.println(Arrays.toString(array));
}
public static String[] createArray(String data) {
String[] dataArray = data.split("\\s+");
return dataArray;
}
答案 0 :(得分:1)
在使用之前,您没有初始化fileData
变量。
试
fileData = "";
答案 1 :(得分:0)
fileData = fileData + line;
这不是构建字符串的最佳选择...尝试用StringBuilder替换它
StringBuilder fileData = new StringBuilder(); // to instantiate
fileData.append(line + "\n"); // to add lines
String finalString = fileData.toString(); // to build the string
对于较大的字符串,您的连接方法将变得非常慢