以下の問題に関する追加のクレジットの質問がわかりません。私は既に try-catch ステートメントを実装しており、正常に動作しているように見えますが、インストラクターは、データ !=0boolean
の代わりにループ条件で変数を使用することを望んでいます。私は推測しています:
while(data!=0.0)
しかし、それはどのように機能しますか?私はそれを完全に取り除き、boolean
すでに作成したものを使用するだけですか? PS: これは非常に単純かもしれませんが、私はそれを見ていません。
import java.util.*;
public class SumInput {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double data = 1.0;
double sum = 0.0;
boolean valid = false;
while (!valid) {
try {
while (data != 0.0) {
System.out.print("So far, sum = " + sum
+ "\nEnter a number or 0 to exit: ");
data = input.nextDouble();
sum = sum + data;
valid = true;
}
} catch (InputMismatchException e) {
System.out.println("Error--please enter a double number");
input.next();
} catch (NoSuchElementException e) {
System.out.println("\nGoodbye!");
System.exit(0);
}
}
System.out.println("Ending sum: " + sum);
}
}