1

我正在写小游戏,我需要读取文本文件,将其写入数组,然后打印数组。我的读取和返回数组的类如下所示:

import java.io.*;
import java.util.*;

public class WordsList {

    public String[] wordsList;


    public void readFile() throws Exception{

        FileInputStream in = new FileInputStream("test.txt");
        BufferedReader br = new BufferedReader(new InputStreamReader(in));
        NumberOfLines read = new NumberOfLines();
        int n = read.getLineCount();

        String strLine;
        wordsList = new String[n];   

        for (int j = 0; j < wordsList.length; j++){
        wordsList[j] = br.readLine();

        }
        in.close();
    }

    public String[] returnsWordList(){
        return wordsList;
    }
}

在主要课程中,我有这个:

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) throws Exception {
        WordsList words = new WordsList();
        System.out.println(words.returnsWordList());
    }

}

它返回空值而不是单词......我做错了什么?有任何想法吗?

4

1 回答 1

2

我做错什么了?有任何想法吗?

您未能readFile()在代码中的任何地方调用。将您的方法更改main为:

WordsList words = new WordsList();
words.readFile();
System.out.println(words.returnsWordList());

它可能会打印出一个非空引用。它不会是一个有用的表示,因为数组不会覆盖toString. 如果您想查看实际内容,您需要:

System.out.println(Arrays.toString(words.returnsWordList()));

还有很多其他方式可以让您的代码远非完美,但这至少应该可以帮助您入门。

于 2012-08-05T12:21:28.600 回答