皆さん、私は何時間もこの質問に答えようとしてきました:
ユーザーに一連の浮動小数点値を入力するよう求めるプログラムを作成してください。ユーザーが数値以外の値を入力した場合は、ユーザーに値を入力する 2 回目の機会を与えます。2 回のチャンスの後、入力の読み取りを終了します。正しく指定されたすべての値を追加し、ユーザーがデータを入力し終わったら合計を出力します。例外処理を使用して、不適切な入力を検出します。
私はいくつかの異なることを試しましたが、私はいつも同じ問題を抱えています。数値ではない何かが入力として与えられると、プログラムは別の入力を促すメッセージを出力しますが、チャンスは与えられません。私ができる最善のことは以下のとおりです。この問題にどのようにアプローチすればよいかわかりません。どんな助けでも大歓迎です。
import java.util.Scanner;
import java.util.InputMismatchException;
public class q6{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
boolean firstChance = true;
boolean secondChance = true;
double sum = 0;
while (secondChance){
try{
while (firstChance){
try{
System.out.print("Please enter a number: ");
double input = in.nextDouble();
sum = sum + input;
}
catch (InputMismatchException ex){
firstChance = false;
}
System.out.print("Please enter a number to continue or something else to terminate: ");
double input = in.nextDouble();
sum = sum + input;
firstChance = true;
}
}
catch (InputMismatchException e){
secondChance = false;
}
}
System.out.print("The sum of the entered values is " + sum);
}
}