Wie kann man eine Rechnung bei der Eingabe in eine Zeile bringen (Java Taschenrechner programmieren?

... komplette Frage anzeigen

3 Antworten

Hab was programmiert^^ Sollte funktionieren:

import java.io.BufferedReader;

import java.io.IOException;
import java.io.InputStreamReader;

public class ZeilenLeser {

public static void main(String[] args) {

//Deklarieren
String rechnung = " ";

//Eingabe erstellen
InputStreamReader is = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(is);

System.out.println("Eingabe");

try {
rechnung= br.readLine();

} catch (IOException e) {
e.printStackTrace();
}

//Eingabe aufsplitten
String[] tokens = rechnung.split("(?<=[-+*/])|(?=[-+*/])");

//Werte auslesen
String zahl1 = tokens[0];
String operator = tokens[1];
String zahl2 = tokens[2];

//String in Integer umwandeln
int zahl1i = Integer.parseInt(zahl1);
int zahl2i = Integer.parseInt(zahl2);

//Rechenoperationen durchführen
if(operator.equals("+")){
System.out.println(zahl1i+zahl2i);
}

else if(operator.equals("-")){
System.out.println(zahl1i-zahl2i);
}

else if(operator.equals("*")){
System.out.println(zahl1i*zahl2i);
}

else if(operator.equals("/")){
System.out.println(zahl1i/zahl2i);
}

//Falls Operator unbekannt
else{
System.out.println("Fehlerhafte Eingabe");
}

}
}
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von FahrradLecker
12.11.2016, 22:59

Musst natürlich noch den Klassennamen anpassen :)

0
Kommentar von ElisabethO
12.11.2016, 23:14

Danke, ich werde mal versuchen das Ganze einzbinden :)

0

Die ganze Angabe als String einlesen lassen und dann String beim + splitten. 
Falls es bei so einer Simplen Rechnung bleiben Soll und nicht mehrere Atribute dazu kommen.

Ansonnten müsstest du dir einen kleinen Algorithmus schreiben oder eine fertige Libary benutzen.
Du findest ansonsten X Java Taschenrechner Sourcecodes oder fertige Libs.

Antwort bewerten Vielen Dank für Deine Bewertung

Helfen kann ich bei deinem Problem leider nicht, aber wenn es ein Taschenrechner werden soll, warum lässt du dann nicht das Ergebnis ausgeben?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von ElisabethO
12.11.2016, 22:28

Das habe ich noch vor, aber soweit bin ich noch nicht.

0
Kommentar von ElisabethO
12.11.2016, 22:38

Leider ist es eine Aufgabe und es ist eine Vorraussetzung dass zuerst die ganze Rechnung in einer Zeile steht.

0

Was möchtest Du wissen?