Problem med system.out.print i Java
Har ett javaprog motsvarande en kalkylator, och allt fungerar så länge jag skriver in allt rätt. Men när jag skriver in en felaktig operator, så får jag fram detta ...
Ange två tal: 1
2
Vilken operator (+ - * /) ?3
Inkorrekt operand - försök igen.
Vilken operator (+ - * /) ?-
Vad är 1-2?Vilken operator (+ - * /) ?-1
Inkorrekt operand - försök igen.
Vilken operator (+ - * /) ?-
Vad är 1-2?Vilken operator (+ - * /) ?
Någon aning om vad felet kan vara?
import java.util.Scanner;
public class F3Aritmetik3 {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int tal1;
int tal2;
String nästaFråga;
boolean b = true;
int korrektSvar = 1;
boolean felaktigOperand = true;
int svar;
do {
System.out.print("Ange två tal: ");
tal1 = keyboard.nextInt();
tal2 = keyboard.nextInt();
do {
System.out.print("Vilken operator (+ - * /) ?");
String operation = keyboard.next();
if (operation.equals("+")) {
korrektSvar = tal1 + tal2;
System.out.print("Vad är " + tal1 + "+" + tal2 + "?");
} else if (operation.equals("-")) {
korrektSvar = tal1 - tal2;
System.out.print("Vad är " + tal1 + "-" + tal2 + "?");
} else if (operation.equals("*")) {
korrektSvar = tal1 * tal2;
System.out.print("Vad är " + tal1 + "*" + tal2 + "?");
} else if (operation.equals("/")) {
korrektSvar = tal1 / tal2;
System.out.print("Vad är " + tal1 + "/" + tal2 + "?");
} else {
felaktigOperand = false;
System.out.println("Inkorrekt operand - försök igen.");
}
} while (felaktigOperand == false);
svar = keyboard.nextInt();
if (svar == korrektSvar) {
System.out.println("Korrekt svar!");
} else
System.out.println("Felaktigt svar - rätt svar är " + korrektSvar + ".");
System.out.print("Vill du fortsätta (JA/NEJ)? ");
nästaFråga = keyboard.next();
if (nästaFråga.equals("JA") || nästaFråga.equals("Ja") || nästaFråga.equals("ja")) {
} else
b = false;
} while (b == true);
}
}