ガブリエルコロン:
私は、ファイルを読み込み、最大の番号を抽出しようとしています。私は最後までファイルを読みたいけどのhasNext()が真の私に与え続けています。私はhasNextInt()にこれを変更しようとしたときに、それも私の文字どこ整数に行ったことがありません。どのように私は、ループから抜け出すことができ、正しく私の整数を読みますか?ヘルプははるかに高く評価されるだろう。
int maxScore=0;
int score = 0;
Scanner scan = new Scanner("PacManHighScore");
while(scan.hasNext()) {
if(scan.hasNextInt()) {
score = scan.nextInt();
}
System.out.println(score);
if(score > maxScore) {
maxScore = score;
}
}
scan.close();
Anubv:
あなたは無限ループで立ち往生しているように、非int型の値をスキップするのを忘れています。
以下のコードを試してみてください。
int maxScore=0;
int score = 0;
Scanner scan = new Scanner("PacManHighScore");
while(scan.hasNext()) {
if(scan.hasNextInt()) {
score = scan.nextInt();
}else{
scan.next();
}
System.out.println(score);
if(score > maxScore) {
maxScore = score;
}
}
scan.close();