私は一連のサイコロを持っており、それぞれについて、ユーザーがそれをリロールするかどうかを尋ねる必要があります。最も簡単な方法は、Scannerクラスを使用したプロンプトのようです。私は、それらが何を入力して適切に処理するかを確認します。ただし、要求されたデータがユーザー入力に存在しない場合、scanner.next()は例外をスローします。したがって、scanner.hasnext()はどういうわけかここに収まる必要があります。
これは私が持っているコードです。エントリを応答配列に入力しますが、ユーザー入力にYもNも含まれていない場合は例外をスローします。
public Boolean[] chooseDice(int diceNum){
Boolean[] responses = new Boolean[diceNum];
Scanner scansworth = new Scanner(System.in);
for (int i=0; i<diceNum; i++){
System.out.printf("Reroll this die? (%d)\n",i);
responses[i] = (scansworth.next("[YN]")) == "Y" ? true : false;
}
return responses;
scansworth.hasNext( "[YN]")を呼び出して、インタープリターがロックせず、ループの各ステップの後にエントリを正しくチェックするようにするにはどうすればよいですか?