Sehr simpler Taschenrechner - Hilfe!

Zitrus

Bekanntes Mitglied
Also zuerstmal meinen Code:

Java:
package lotto;
import java.util.Random;

public class lotto {
	public lotto() {}

public static void main(String[] args)
{   
	System.out.println("+, -, / , x ?");
	String Z1 = new java.util.Scanner(System.in).nextLine();
		
	if (Z1.equals("+")) {
		System.out.println("Zahl 1 bitte!");
		double Z2 = new java.util.Scanner(System.in).nextDouble();
		System.out.println("Zahl 2 bitte!");
		double Z3 = new java.util.Scanner(System.in).nextDouble();
		
		double result = Z2 + Z3;
		System.out.println ("Ergebnis:" + result);
	}
		
	else if(Z1.equals("-")) {
		System.out.println("Zahl 1 bitte!");
		double Z2 = new java.util.Scanner(System.in).nextDouble();
		System.out.println("Zahl 2 bitte!");
		double Z3 = new java.util.Scanner(System.in).nextDouble();
		
		double result = Z2 - Z3;
		System.out.println ("Ergebnis:" + result);
	}
	else if(Z1.equals("/")) {
		System.out.println("Zahl 1 bitte!");
		double Z2 = new java.util.Scanner(System.in).nextDouble();
		System.out.println("Zahl 2 bitte!");
		double Z3 = new java.util.Scanner(System.in).nextDouble();
		
		double result = Z2 / Z3;
		System.out.println ("Ergebnis:" + result);
	}
	else if(Z1.equals("x")) {
		System.out.println("Zahl 1 bitte!");
		double Z2 = new java.util.Scanner(System.in).nextDouble();
		System.out.println("Zahl 2 bitte!");
		double Z3 = new java.util.Scanner(System.in).nextDouble();
		
		double result = Z2 * Z3;
		System.out.println ("Ergebnis:" + result);
	}
	else {
		System.out.println (" Wähle zwischen +,-,/,x !");
		Z1 = new java.util.Scanner(System.in).nextLine();
	}
}
}

So nun zum Problem... Ich möchte einen kleinen Taschenrechner programmieren der sogut wie fertig ist nur soll er auch wenn ich etwas anderes außer den Rechenzeichen angebe z.b (1,2,3,a,b,c) , nochmal nach dem Rechenzeichen fragen.. Wie bekomme ich das hin?
 

Joose

Top Contributor
Baue eine Schleife ein, welche solange das 1.Einlesen wiederholt bis ein gültiges Rechenzeichen eingegeben wurde. :)


EDIT:
Fall es dir noch nicht aufgefallen ist:
Du wiederholst ständig diese 2 Zeilen Code:
Java:
	System.out.println("Zahl 1 bitte!");
double Z2 = new java.util.Scanner(System.in).nextDouble();
Das scheit förmlich nach einer eigenen Methode :)
 
Zuletzt bearbeitet:

Joose

Top Contributor
Pseudocode:
Java:
Scanner scanner = new java.util.Scanner(System.in);
String rechenzeichen = null;
while(solange das rechenzeichen nicht korrekt (=null) ist wiederholen) {	
    System.out.println("+, -, / , x ?");
    rechenzeichen = lies zeichen ein
    if(rechenzeichen ist nicht korrekt){
        rechenzeichen = null;
    }
}
.....
 

Zitrus

Bekanntes Mitglied
Java:
Scanner scanner = new java.util.Scanner(System.in); // Erzeugt neuen Scanner
String rechenzeichen = null; // Warum wird der String auf 0 gesetzt // Soll das null hier wirklich null sein oder ersetzt werden?
while(rechenzeichen != null) {	
    System.out.println("+, -, / , x ?");
    rechenzeichen = lies zeichen ein // Was ist mit lies zeichen ein gemeint?
    if(rechenzeichen == false){ // <--Stimmt das?
       rechenzeichen = null;  // Warum wieder auf null? 111elf

So hab ich das interpretiert bitte nicht lachen^^ Hab die Grundlagen bestimmt schon 3x wiederholt aber ich weiß echt nicht warum ich das nicht in meinen Kopf bekomme:)
 
Zuletzt bearbeitet:

Zitrus

Bekanntes Mitglied
Hab es hinbekommen ! :D *freu*
Java:
package lotto;
import java.util.Scanner;
 
public class lotto {
	public lotto() {}
 
public static void main(String[] args)
{   
	System.out.println("+, - , / , x ?");
	String Z1 = new java.util.Scanner(System.in).nextLine();
	while(!Z1.equals("+") && !Z1.equals("-") && !Z1.equals("x") && !Z1.equals("/") ) {
	System.out.println("+ , - , / , x ?");
	Z1 = new java.util.Scanner(System.in).nextLine();
	}
	
	
	if (Z1.equals("+")) {
		System.out.println("Zahl 1 bitte!");
		double Z2 = new java.util.Scanner(System.in).nextDouble();
		System.out.println("Zahl 2 bitte!");
		double Z3 = new java.util.Scanner(System.in).nextDouble();
 
		double result = Z2 + Z3;
		System.out.println ("Ergebnis:" + result);
	}
 
	else if(Z1.equals("-")) {
		System.out.println("Zahl 1 bitte!");
		double Z2 = new java.util.Scanner(System.in).nextDouble();
		System.out.println("Zahl 2 bitte!");
		double Z3 = new java.util.Scanner(System.in).nextDouble();
 
		double result = Z2 - Z3;
		System.out.println ("Ergebnis:" + result);
	}
	else if(Z1.equals("/")) {
		System.out.println("Zahl 1 bitte!");
		double Z2 = new java.util.Scanner(System.in).nextDouble();
		System.out.println("Zahl 2 bitte!");
		double Z3 = new java.util.Scanner(System.in).nextDouble();
 
		double result = Z2 / Z3;
		System.out.println ("Ergebnis:" + result);
	}
	else if(Z1.equals("x")) {
		System.out.println("Zahl 1 bitte!");
		double Z2 = new java.util.Scanner(System.in).nextDouble();
		System.out.println("Zahl 2 bitte!");
		double Z3 = new java.util.Scanner(System.in).nextDouble();
		double result = Z2 * Z3;
		System.out.println ("Ergebnis:" + result);
	}
	}
}
 

Saheeda

Top Contributor
Da lässt sich noch einiges zusammenfassen und verallgemeinern:

Java:
public static void main(String[] args) {

		System.out.println("+, - , / , x ?");

		String Z1 = new java.util.Scanner(System.in).nextLine();

		while (!Z1.equals("+") && !Z1.equals("-") && !Z1.equals("x")
				&& !Z1.equals("/")) {

			System.out.println("+ , - , / , x ?");

			Z1 = new java.util.Scanner(System.in).nextLine();

		}

		System.out.println("Zahl 1 bitte!");
		double Z2 = new java.util.Scanner(System.in).nextDouble();

		System.out.println("Zahl 2 bitte!");
		double Z3 = new java.util.Scanner(System.in).nextDouble();

		double result = 0;

		if (Z1.equals("+")) {
			result = Z2 + Z3;
		} else if (Z1.equals("-")) {
			result = Z2 - Z3;
		} else if (Z1.equals("/")) {
			result = Z2 / Z3;
		} else if (Z1.equals("x")) {
			result = Z2 * Z3;
		}

		System.out.println("Ergebnis:" + result);

	}

Statt der vielen else if könntest du auch einen switch nehmen, das sähe dann so aus:

Java:
switch(Z1){
	case "+":
		result = Z2 + Z3;
		break;
	case "-":
		result = Z2 - Z3;
		break;
	case "x":
		result = Z2 * Z3;
		break;
	case "/":
		result = Z2 / Z3;
		break;
	default:
                             break;
		}
 

ceving

Aktives Mitglied
Also zuerstmal meinen Code:

Java:
	if (Z1.equals("+")) {
		System.out.println("Zahl 1 bitte!");
		double Z2 = new java.util.Scanner(System.in).nextDouble();
		System.out.println("Zahl 2 bitte!");
		double Z3 = new java.util.Scanner(System.in).nextDouble();
		
		double result = Z2 + Z3;
		System.out.println ("Ergebnis:" + result);
	}

nur soll er auch wenn ich etwas anderes außer den Rechenzeichen angebe z.b (1,2,3,a,b,c) , nochmal nach dem Rechenzeichen fragen..

Du meinst du willst an statt der Präfix-Notation, die du oben implementiert hast, die Infix-Notation implementieren?

Präfix-Notation ist (wie in Scheme): + 1 2
Infix-Notation ist (wie in Java): 1 + 2
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D BigDecimal Ausgabe sehr lang. Java Basics - Anfänger-Themen 2
X Sehr schnelle agile Entwicklung Java Basics - Anfänger-Themen 1
M (Sehr großes Problem) Listen als static in anderen Klassen verwendet Java Basics - Anfänger-Themen 12
C Verarbeitung von sehr großen Dateien Java Basics - Anfänger-Themen 52
P Erste Schritte Console - Sehr komische Ausgabe! Java Basics - Anfänger-Themen 3
B sehr lange Srings in File schreiben Java Basics - Anfänger-Themen 4
M Suche Hilfe bei sehr kleinen Quelltexten Java Basics - Anfänger-Themen 2
M Welche externen Bibliotheken sind in Java sehr zu empfehlen? Java Basics - Anfänger-Themen 4
C Einlesen in Array von Textdatei sehr langsam Java Basics - Anfänger-Themen 7
M sehr großes Byte Array Java Basics - Anfänger-Themen 3
R OutOfmemory Exception bei sehr großer Liste (Tomcat Webservice) Java Basics - Anfänger-Themen 4
H Sehr einfache Java-Programme Java Basics - Anfänger-Themen 24
Luk10 OOP Sehr allgemeine Schnittstelle Java Basics - Anfänger-Themen 19
S Input/Output Sehr langen String in Datei schreiben Java Basics - Anfänger-Themen 8
R ArrayList sehr viel schneller als Array? Java Basics - Anfänger-Themen 2
R Sehr einfache möglichkeit ArrayList oder Array zu initialisieren? Java Basics - Anfänger-Themen 8
R Sehr kleine doubles nicht in Exponentialdarstellung ausgeben Java Basics - Anfänger-Themen 3
B ABspeichern eines sehr grossen negativen Werts Java Basics - Anfänger-Themen 6
Beckenbauer Eine anstehende (sehr simple) Applikation in UML darstellen (Klassendiagramm) Java Basics - Anfänger-Themen 20
N Name zu sehr ähnlich??? Java Basics - Anfänger-Themen 12
E Reguläre Ausdrücke mit sehr variablen Eigenschaften Java Basics - Anfänger-Themen 2
T Generic vom Generic: Zu sehr verschachtelt? Java Basics - Anfänger-Themen 6
Antoras Datei laden mit BufferedReader sehr langsam Java Basics - Anfänger-Themen 7
F Programm sehr langsam. Windows 7? Java Basics - Anfänger-Themen 23
S Eclipse .metadata ordner ist sehr gross! Java Basics - Anfänger-Themen 1
G Socket erstellen dauert sehr lange. Java Basics - Anfänger-Themen 4
D Sehr großer String lässt sich nicht bearbeiten Java Basics - Anfänger-Themen 7
G Verzeichnis auslesen mit sehr sehr vielen Bildern Java Basics - Anfänger-Themen 6
E Methode sehr langsam und funktioniert teilweise nicht Java Basics - Anfänger-Themen 3
S JFileChooser öffnet Unterverzeichnisse sehr langsam Java Basics - Anfänger-Themen 2
G Sehr eigenartige Datumsprobleme. Java Basics - Anfänger-Themen 2
I Schulprojekt !sehr wichtig! Java Basics - Anfänger-Themen 6
M sehr weit verschachtelte XML-datei mit jdom auslesen Java Basics - Anfänger-Themen 4
G g.drawLine arbeitet sehr ungenau. Java Basics - Anfänger-Themen 4
G sehr kleine Dezimalzahlen (BigDecimal) falsch angezeigt Java Basics - Anfänger-Themen 5
T Erste Schritte (SEHR mühsam); Grafiktest Java Basics - Anfänger-Themen 5
F Java Applikation ProjectX startet sehr langsam Java Basics - Anfänger-Themen 3
C FileInputStream sehr langsam Java Basics - Anfänger-Themen 5
T simpler Kalender Java Basics - Anfänger-Themen 10
Q simpler Taschenrechner Java Basics - Anfänger-Themen 34
N Simpler cast? Java Basics - Anfänger-Themen 9
M Simpler Algorithmus läuft extrem langsam. Java Basics - Anfänger-Themen 3
S Fehler bei simpler additions GUI Java Basics - Anfänger-Themen 2
D Simpler Taschenrechner Java Basics - Anfänger-Themen 6
P ganz simpler algorithmus Java Basics - Anfänger-Themen 3
W [PROJEKT] Simpler grafischer Taschenrechner Java Basics - Anfänger-Themen 8
F Simpler DrawLine - Befehl!? Java Basics - Anfänger-Themen 9
L Simpler FTP Dateiupload Java Basics - Anfänger-Themen 4
F Datentypen Ganz simpler Taschenrechner mit switch Java Basics - Anfänger-Themen 10
J Simpler DNS Client Java Basics - Anfänger-Themen 20
F simpler Taschenrechner (blutiger Anfänger) Java Basics - Anfänger-Themen 7
G Datenbank VS simpler Datenstruktur Java Basics - Anfänger-Themen 3
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
L Taschenrechner Problem Java Basics - Anfänger-Themen 4
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
R Operatoren Rechenoperation verwenden für Taschenrechner. Java Basics - Anfänger-Themen 32
S while Schleife Taschenrechner Java Basics - Anfänger-Themen 1
J Taschenrechner mit mehr als 2 Zahlen. Java Basics - Anfänger-Themen 18
R Einfacher Taschenrechner mit Eclipse Java Basics - Anfänger-Themen 3
M Einfacher Taschenrechner Java Basics - Anfänger-Themen 2
Fiedelbambu Prüfen von Komma stelle beim Taschenrechner Java Basics - Anfänger-Themen 5
JordenJost Taschenrechner problem Java Basics - Anfänger-Themen 5
Y Taschenrechner programmieren Java Basics - Anfänger-Themen 3
G Taschenrechner ergibt Fehler in if-Abfrage Java Basics - Anfänger-Themen 6
K Erste Schritte "Taschenrechner" zeigt keine Komma Zahlen an. Java Basics - Anfänger-Themen 8
C Potenzberechnung über switch case. Taschenrechner mit Eingabe über einen grafischen Dialog Java Basics - Anfänger-Themen 22
E JavaFX Taschenrechner Eingabe im Textfield beschränken Java Basics - Anfänger-Themen 2
E Taschenrechner GUI Problem mit Fehlerhandling Java Basics - Anfänger-Themen 6
C Taschenrechner (switch) in Taschenrechner mit Methoden umwandeln Java Basics - Anfänger-Themen 115
W Taschenrechner mit Switch case Java Basics - Anfänger-Themen 4
W Taschenrechner Java Basics - Anfänger-Themen 11
A Taschenrechner mit Gui erstellen Java Basics - Anfänger-Themen 9
2 Taschenrechner mit GUI Problem bei der Berechnung Java Basics - Anfänger-Themen 8
P Taschenrechner mit unendlich vielen Eingabemöglichkeiten Java Basics - Anfänger-Themen 1
V Erste Schritte Taschenrechner mit beliebig vielen Zahlen Java Basics - Anfänger-Themen 5
S Taschenrechner Java Basics - Anfänger-Themen 13
P Taschenrechner Text übertragung Java Basics - Anfänger-Themen 3
S Compiler-Fehler Basic- Taschenrechner/ Fehler Java Basics - Anfänger-Themen 8
S Basic- Taschenrechner? Java Basics - Anfänger-Themen 7
P Hilfe bei Java Taschenrechner Java Basics - Anfänger-Themen 25
F Erste Schritte Frage zu simplem Taschenrechner(switch) Java Basics - Anfänger-Themen 16
L Mein Taschenrechner lässt sich plötzlich nicht mehr öffnen Java Basics - Anfänger-Themen 5
S Taschenrechner hilfe! Java Basics - Anfänger-Themen 17
H Java Taschenrechner Java Basics - Anfänger-Themen 4
R Variablen Taschenrechner mit Komfortfunktionen Java Basics - Anfänger-Themen 2
J RPN Taschenrechner - keine Lösung!! Java Basics - Anfänger-Themen 84
M Java Taschenrechner (if-else) Java Basics - Anfänger-Themen 11
L Taschenrechner mit switch und while funktioniert noch nicht richtig Java Basics - Anfänger-Themen 22
R Taschenrechner NullPointerException Java Basics - Anfänger-Themen 1
R Variablen Weitergehenderr Taschenrechner Java Basics - Anfänger-Themen 4
F Taschenrechner "Error loading class..." Java Basics - Anfänger-Themen 5
M Java Taschenrechner Programmieren Java Basics - Anfänger-Themen 12
P Erste Schritte Taschenrechner mit if-else Anweisung Java Basics - Anfänger-Themen 6
G Taschenrechner gibt nur 0.0 aus Java Basics - Anfänger-Themen 8
A Taschenrechner programmieren Java Basics - Anfänger-Themen 21
Z Java Taschenrechner Java Basics - Anfänger-Themen 6
J Kleiner Taschenrechner! Anfänger braucht Hilfe :( Java Basics - Anfänger-Themen 2
C Taschenrechner in Java Java Basics - Anfänger-Themen 6
J Erste Schritte Java CMD Taschenrechner mit Parametern! Java Basics - Anfänger-Themen 16
J Taschenrechner: Probleme Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben