0

我对扫描仪不太熟悉,但我编写了一种方法来从 txt 文件中读取每个单词,并为每个单词添加一个到 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

在你的 while 循环之后立即添加:

s.close();
于 2013-01-02T23:39:12.103 回答
1

s.HastNext() 将始终返回 true,因为 s 永远不会改变。

您也许可以改用 hasNextline() 。

看看这里的文档:http: //docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#hasNext%28%29

于 2013-01-02T23:25:33.443 回答