Je suis un codeur débutant en Java et j'essaie de faire de cette calculatrice en Java où un utilisateur peut entrer deux nombres et sélectionner l'opération à effectuer sur ces nombres. Cependant, lorsque le code vient à sélectionner l'opérateur, il ignore l'entrée utilisateur et l'instruction if et implémente directement l'instruction else.Simple programme de calculateur en Java
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner Calc = new Scanner(System.in);
int n1;
int n2;
int Answer;
System.out.println("Enter the first number: ");
n1 = Calc.nextInt();
System.out.println("Enter the second number:");
n2 = Calc.nextInt();
System.out.println("Select the order of operation: ");
char operator = Calc.nextLine().charAt(0);
if (operator == '+') {
Answer = (n1 + n2);
System.out.println("Answer:" + Answer);
}
if (operator == '-') {
Answer = (n1 - n2);
System.out.println("Answer:" + Answer);
}
if (operator == '*') {
Answer = (n1 * n2);
System.out.println("Answer:" + Answer);
}
if (operator == '/') {
Answer = (n1/n2);
System.out.println("Answer:" + Answer);
}
else {
System.out.println("not implemented yet. Sorry!");
}
}
}
Copie possible de [Sauter nextLine() après avoir utilisé next(), nextInt() ou d'autres méthodes nextFoo()] (http://stackoverflow.com/questions/13102045/skipping-nextline-after-using-next- nextint-or-other-nextfoo-methods) – Berger
en dehors de votre problème de programmation: vous pourriez vouloir vérifier la division par zéro;) – Niklas
Pour expliquer le lien avec le sujet en double, _nextInt() _ ne consomme pas la "nouvelle ligne" expression, ajoutez donc une instruction _nextLine() _ juste après votre second _nextInt() _. – Berger