現在、私は単純な代数式の計算機を使って、いくつかのJavaの基本を少し上手くやっていますが、問題が発生しています。同じ行の複数の入力が有効でない場合、whileループを使用してエラーメッセージを表示しますか?
私の方法の1つは、二次方程式です。ユーザーにA、B、Cを同じ行に入力するように求め、プログラムが計算を実行します。しかし、入力がdoubleかどうかを調べるwhileループを作成すると、間違った値(たとえば3 5 x)を入れるとエラーになります。
個々の変数ごとにループを実行する必要がありますか、または1つの入力内の3つの変数すべてが受け入れ可能かどうかをより迅速に確認できますか?
public static void quadraticFormula() {
Scanner sc = new Scanner(System.in);
System.out.print("Please enter the values(in order) for A, B and C: ");
while(!sc.hasNextDouble()) {
System.out.println("Error! One or more of your inputs are not acceptable. Please try again: ");
sc.nextDouble();
}
double a = sc.nextDouble();
double b = sc.nextDouble();
double c = sc.nextDouble();
int discriminant = (int) (Math.pow(b, 2) - 4 * a * c);
double rootPlus = (-1 * b + Math.sqrt(discriminant))/(2 * a);
double rootMinus = (-1 * b - Math.sqrt(discriminant))/(2 * a);
System.out.println("Your answers are as follows: ");
System.out.println("\tB + : " + rootPlus);
System.out.println("\tB - : " + rootMinus);
}
パーフェクト!これはまさに私が探していたものです。前にtry/catchを使ったことは一度もなかったので、もう少し詳しく説明します。ありがとう! –