该程序的整体思想是逐行读取一个文件,并将每个单词保存到一个数组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/

10-10 19:21