0

私はスキャナーの経験があまりありませんが、txtファイルから各単語を読み取り、それぞれに対して1つをintに追加するメソッドを作成しましたが、intは増え続けています。最後の単語を読んだり、最後の単語を追加したりしたら止めてほしい。

    public void drawnames(Graphics g) throws FileNotFoundException{
    int str = 0;
    String[] string = new String[800*600];
    int xpos = 100;
    int ypos = 100;
    @SuppressWarnings("resource")
    Scanner s = new Scanner(new BufferedReader(new FileReader("Particles/Names.txt")));
    while(s.hasNext()){
        string[str] = s.next();
        g.drawString(string[str] + str, xpos, ypos);
        str = str + 1;
        ypos = ypos + 100;
    }
}
4

2 に答える 2

1

s.HastNext()は、sが変更されないため、常にtrueを返します。

代わりにhasNextline()を使用することもできます。

こちらのドキュメントをご覧ください:http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#hasNext%28%29

于 2013-01-02T23:25:33.443 に答える
1

whileループの直後に、次を追加します。

s.close();
于 2013-01-02T23:39:12.103 に答える