我想要做的是从文件中读取(在这种情况下,文件包含超过100,000行)并将值存储在数组中,然后打印出前10行。但是,当我运行程序时,我得到第一行,然后是9行“null”,这显然不是我想要的!这是代码和任何提示将不胜感激。为什么我会将“null”作为输出字符串? Java
import java.io.*;
import java.util.Scanner;
public class DawsonZachA5Q2{
public static void main(String[] args){
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter a size for the number of letters for words: ");
int size = keyboard.nextInt();//prompts user for input
String[] array = new String[27000];
try {
File file = new File("big-word-list.txt");
Scanner scanner = new Scanner(file);
// Start a line count and declare a string to hold our current line.
int linecount=0;
// Tells user what we're doing
System.out.println("Searching for words with " + size + " letters in file...");
int wordCount=0;
while (scanner.hasNext()){
int i = 0;
String word = scanner.next();
if(size == word.length()){
wordCount++;
array[i]=word;
i++;
//add word to array
// increase the count and find the place of the word
}
}
linecount++;
System.out.println(wordCount);
System.out.println(wordCount+" words were found that have "+size+ " letters.");//final output
for(int o = 0; o<10; o++){
System.out.println(array[o]);
}
scanner.close();
}// our catch just in case of error
catch (IOException e) {
System.out.println("Sorry! File not found!");
}
} // main
} // class
我会让你自己想出这一个。就在'array [i] = word;'之前,添加这一行:'System.out.println(“关于在索引处设置数组”+ i);'。然后看看会发生什么。 – ajb
啊,是的,我明白你在说什么了,谢谢! – Zhdawson