Hallo Leute,
Ich bin ein kompletter Anfänger im Thema Java und versuche aktuell den folgenden Taschenrechner zum laufen zu bekommen:
Der Code läuft zwar aber der Taschenrechner gibt leider falsche Ergebnisse aus.
Bei der Addition und der multiplikation klappt alles ohne Probleme, sobald ich aber subtrahieren oder dividieren möchte kommen falsche Ergebnisse heraus.
Kann mir jemand dabei helfen den Code so zu korregieren, dass dieser läuft und die richtigen Ergebnisse ausgibt ?
Vielen Dank im Voraus!
LG
Ich bin ein kompletter Anfänger im Thema Java und versuche aktuell den folgenden Taschenrechner zum laufen zu bekommen:
Java:
// Calculator - Tischrechner
import java.util.Scanner;
public class Calculator {
// Berechnung eines Rechenergebnisses:
public static double calculateOperation(char operation, double ersterWert, double zweiterWert) {
// Das Rechenergebnis:
double ergebnis = 0;
// Auswahl und Ausführung der Operation:
if (operation == '+') {
// +:
ergebnis = ersterWert + zweiterWert;
}
else if (operation == '-') {
// -:
ergebnis = ersterWert - zweiterWert;
}
else if (operation == '*') {
// *:
ergebnis = ersterWert * zweiterWert;
}
else if (operation == '/') {
// /:
ergebnis = ersterWert / zweiterWert;
}
else {
ergebnis = ersterWert;
}
return (int) ergebnis;
}
// Hauptprogramm:
public static void main(String[] args) {
// Einlesen aus von der Konsole einrichten:
Scanner scan = new Scanner(System.in);
// Das Rechenregister und Operationszähler:
double register = 0.0;
double anzahl = 1.0;
/* Die anstehende Operation:*/
char operation = ' '; /* Operation als Zeichen kodiert */
System.out.println("Operation: eine von + - * /");
System.out.println("Ende: q 0");
while (operation != 'q') {
// Nächste Operation abfragen:
System.out.print("Operation Wert: ");
operation = scan.next().charAt(0);
double wert = scan.nextDouble();
// Berechnung des Ergebnisses der Operation:
register = calculateOperation(operation, wert, register);
anzahl = anzahl + 1;
// Ergebnisregister ausgeben:
System.out.println("Registerwert: " + register);
}
scan.close();
}
}
Der Code läuft zwar aber der Taschenrechner gibt leider falsche Ergebnisse aus.
Bei der Addition und der multiplikation klappt alles ohne Probleme, sobald ich aber subtrahieren oder dividieren möchte kommen falsche Ergebnisse heraus.
Kann mir jemand dabei helfen den Code so zu korregieren, dass dieser läuft und die richtigen Ergebnisse ausgibt ?
Vielen Dank im Voraus!
LG
Zuletzt bearbeitet: