Problème JAVA. Polynômes second degré.
RésoluL3arning Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je souhaite demander à l'utilisateur d'entrée le nombre de polynômes second degré qu'il souhaite écrire puis quelle valeur il souhaite affecter à x. La boucle while me permet de faire le total de tous ces polynômes par rapport à x puis d'en faire la moyenne. Le problème c'est que le code marchait très bien sans la boucle while mais depuis que je l'ai rajouté j'ai tout le temps cette erreur :
"Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at Main.main(Main.java:67)"
Le code :
else if (answer.equals("w")){ System.out.println("How much Polynomials you want to write ?"); int p = scan.nextInt(); int i = 0; int total = 0; while(i < p){ i += 1; System.out.println("Write : a b c"); String abc = scan.nextLine(); String[] list = abc.split(" "); System.out.println("a = " + list[0] + "\nb = " + list[1] + "\nc = " + list[2] ); int a = Integer.parseInt(list[0]); int b = Integer.parseInt(list[1]); int c = Integer.parseInt(list[2]); System.out.println("Write the value of x :"); int x = scan.nextInt(); // Why I have to use double ? double x2 = Math.pow(x,2); double calcul = (a * x2) + (b * x) + (c); System.out.println(calcul); total += calcul; } System.out.println("Total =" + total / p);
La ligne 67 est : System.out.println("a = " + list[0] + "\nb = " + list[1] + "\nc = " + list[2] );
Merci à celui qui prendra le temps de me répondre.
- Problème JAVA. Polynômes second degré.
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
4 réponses
Bonjour,
Après chaque scan.nextInt() tu dois rajouter un nextLine() vide, car en plus de ton int qui est lu, il faut aussi lire le saut de ligne que tu ajoutes pour valider ta saisie.
Une alternative est de remplacer scan.nextInt() par Integer.parseInt(scan.nextLine()); qui va lire toute la ligne (entier + saut de ligne)
Tu avais deux nextInt, un avant la boucle que tu as corrigé et un dans la boucle, pour la valeur x, il faut aussi le remplacer.