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());
    }

}

単語ではなくnull値を返します...何が間違っていましたか? 何か案は?

4

1 に答える 1

2

私は何を間違えましたか?何か案は?

readFile()コード内のどこにも電話をかけられませんでした。mainメソッドを次のように変更します。

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

そしてそれはおそらくnull以外の参照を出力します。配列はオーバーライドしないため、これは有用な表現にはなりませんtoString。その実際のコンテンツを見たい場合は、次のようにします。

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

あなたのコードがまだ素晴らしいとはほど遠い他のさまざまな方法がありますが、それは少なくともあなたが始めるのに役立つはずです。

于 2012-08-05T12:21:28.600 に答える