Einfache Taschenrechner in Java
Ich bin ein Neuling, Programmierer in Java, und ich versuche, diesen Taschenrechner in java, in der der Benutzer geben Sie zwei zahlen ein und wählen Sie die operation zu tun auf diese zahlen. Jedoch, wenn der code kommt auf die Auswahl der Betreiber es überspringt die Eingabe und die if-Anweisung und direkt implementiert die else-Anweisung.
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!");
}
}
}
- Möglich, Duplikat der Überspringen nextLine - () nach der Verwendung von next(), nextInt() oder anderen nextFoo () - Methoden
- abgesehen von Ihrer Programmierung Problem: möchten Sie vielleicht, um die division durch null 😉
- Zu erklären, die Verbindung mit dem doppelten Thema, nextInt() nicht verbrauchen die "neue Linie" Ausdruck so fügen Sie eine nextLine - () - Anweisung nur nach Ihrem zweiten nextInt() .
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hinzufügen
Calc.nextLine();
nachn2 = Calc.nextInt();
zu konsumieren, wird der Zeilenvorschub.Sind Sie auch nicht mit
else if
also all jeneif
Bedingungen überprüft werden, selbst wenn der Vorherigeif
bereits abgestimmt (was Sie in Ihrem letzten else wird ausgeführt, solange die Betreiber nicht'/'
).In diesem Fall sollten Sie wahrscheinlich nur ein
switch
block.