我对扫描仪不太熟悉,但是我写了一个方法来从txt文件中读取每个单词,并为每个单词添加一个到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;
}
}
答案 0 :(得分:1)
s.HastNext()将始终返回true,因为s永远不会改变。
您可以改为使用hasNextline()。
在这里查看文档:{{3}}
答案 1 :(得分:1)
在你的while循环之后立即添加:
s.close();