该程序的整体思想是逐行读取一个文件,并将每个单词保存到一个数组token []中。我正在尝试使用for循环将数组token []中的元素打印到控制台上。但是它说变量令牌还没有初始化。
import java.io.*;
public class ReadFile{
public static void main(String args[]){
String[] token;
int i;
try{
// Open and read the file
FileInputStream fstream = new FileInputStream("a.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
//Read file line by line and storing data in the form of tokens
while((strLine = br.readLine()) != null){
token = strLine.split(" ");
}
in.close();//Close the input stream
}
catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
// Why can't I do this printing part?
for(i=0;i<=token.length;i++){
System.out.println(token[i]);
}``
}// close main()
}// close Class
最佳答案
当您处于方法内部(例如,主变量声明)未初始化时,必须自己提供一个初始值。
例如:
String [] array = new String [0];
甚至
String [] array = null;
关于java - 为什么不能在此Java程序中打印数组token []中的内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15666207/