Actuellement, je travaille sur un calculateur de formule algébrique simple pour obtenir un peu mieux à certaines bases de Java, mais je rencontre un problème.L'utilisation d'une boucle while pour afficher un message d'erreur si plusieurs entrées sur la même ligne ne sont pas valides?
Une de mes méthodes est la formule quadratique. Il demande à l'utilisateur d'entrer A, B et C sur la même ligne, puis le programme effectue le calcul. Mais quand je fais une boucle while pour vérifier si l'entrée est un double, j'obtiens une erreur quand je mets une valeur incorrecte (par exemple, 3 5 x). Dois-je effectuer une boucle pour chaque variable individuelle ou existe-t-il un moyen plus rapide de vérifier si les trois variables d'une entrée sont acceptables?
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);
}
Parfait! Ceci est exactement ce que je cherchais. Je n'ai jamais utilisé try/catch avant, donc je vais en lire un peu plus. Merci! –