Hallo,
Ich bin Programmieranfänger und habe eine Frage bezüglich dem Titel und zwar habe ich um mehr Praxiserfahrung zu sammeln ein simplen Kalkulator für die Konsole programmiert (in Java). Dieser ist jedoch spürbar komplizierter geworden als es sein müsste.
import java.util.Objects;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
calculate();
}
public static void calculate() {
System.out.println("Rechenart:");
Scanner scanner = new Scanner(System.in);
String arithmeticMethod = scanner.next();
if (Objects.equals(arithmeticMethod, "addition") || Objects.equals(arithmeticMethod, "+")) {
addition();
} else if (Objects.equals(arithmeticMethod, "subtraction") || Objects.equals(arithmeticMethod, "-")) {
subtraction();
} else if (Objects.equals(arithmeticMethod, "multiplication") || Objects.equals(arithmeticMethod, "*") || Objects.equals(arithmeticMethod, "x")) {
multiplication();
} else if (Objects.equals(arithmeticMethod, "division") || Objects.equals(arithmeticMethod, ":") || Objects.equals(arithmeticMethod, "/")) {
division();
} else if (Objects.equals(arithmeticMethod, "stop")) {
System.out.println("Program ended.");
}
}
public static void addition() {
Scanner scanner = new Scanner(System.in);
int firstSummand;
int secondSummand;
System.out.println("1. Summand: ");
firstSummand = scanner.nextInt();
System.out.println("2. Summand: ");
secondSummand = scanner.nextInt();
System.out.println("Ergebnis: ");
System.out.println(firstSummand + secondSummand);
calculate();
}
public static void subtraction() {
Scanner scanner = new Scanner(System.in);
int minuend;
int subtrahend;
System.out.println("Minuend: ");
minuend = scanner.nextInt();
System.out.println("Subtrahend: ");
subtrahend = scanner.nextInt();
System.out.println("Ergebnis: ");
System.out.println(minuend - subtrahend);
calculate();
}
public static void multiplication() {
Scanner scanner = new Scanner(System.in);
int firstFactor;
int secondFactor;
System.out.println("1. Factor: ");
firstFactor = scanner.nextInt();
System.out.println("2. Factor: ");
secondFactor = scanner.nextInt();
System.out.println("Ergebnis: ");
System.out.println(firstFactor * secondFactor);
calculate();
}
public static void division() {
Scanner scanner = new Scanner(System.in);
int dividend;
int divisor;
System.out.println("Dividend: ");
dividend = scanner.nextInt();
System.out.println("Divisor: ");
divisor = scanner.nextInt();
System.out.println("Ergebnis: ");
System.out.println(dividend / divisor);
calculate();
}
}
(Entschuldigung dass ich es nicht über ein Bild zeigen kann da nicht alles auf ein Bild passt.) Ist das schlimm? Sollte ich mir das schnell abgewöhnen?
Schonmal Danke im voraus.