auf den Prüfstand

rahmstein

Mitglied
Hallo hätte da mal eine Frage was ist an diesen alles falsch oder auch nur nicht den Java Konventionen entsprechend.
Ohne Goto und/oder Gosub ist das alles so ganz anders
Vielen Dank für eure Bemühungen im Voraus. ???:L


Java:
import java.io.*;

class LogicSimulator {

	public static void main(String[] args) throws IOException {

		int e1;
		int e2;
		int eingang;
		int ausg = 0;
		String a = "";

		BufferedReader din = new BufferedReader(
				new InputStreamReader(System.in));

		System.out.print("Bitte erste Binärzahl eingeben  --> ");
		e1 = Integer.parseInt(din.readLine());
		if (e1 < 0 || e1 > 1) {
			System.out.println(" Ungültige eingabe Programm neu starten");
			System.exit(0);
		}

		System.out.print("Bitte zweite Binärzahl eingeben --> ");
		e2 = Integer.parseInt(din.readLine());
		if (e2 < 0 || e2 > 1) {
			System.out.println(" Ungültige eingabe Programm neu starten");
			System.exit(0);
		}

		System.out
				.print("Bitte Verknüpfung eingeben:      und  -> 5 , oder -> 6 , exor -> 7 ");

		eingang = Integer.parseInt(din.readLine());
		switch (eingang) {
		case 5:
			ausg = e1 & e2;
			a = "und";
			break;
		case 6:
			ausg = e1 | e2;
			a = "oder";
			break;
		case 7:
			ausg = e1 ^ e2;
			a = "exor ";
			break;

		}

		System.out.println(ausg);
		System.out.println("" + a + "Gatter mit 2 eingängen und 1 Ausgang");
		System.out.println("E1 -->  " + e1);
		System.out.println("E2 -->  " + e2);
		System.out.println("----------");
		System.out.println("A1 -->  " + ausg);

	}

}
 
G

Gast2

Gast
Puh, na denn :p

Java:
int e1;
int e2;
[...]
String a = "";
sprechende Variablennamen verwenden.

Java:
int eingang;
int ausg = 0;
Warum einmal eingang und einmal ausg? Machs einheitlich => ausgang

Deklarieren Variablen so spät wie möglich und mit möglichst kleinen Scope.
Hier beispielsweise:
Java:
int e1 = Integer.parseInt(din.readLine());
e1 brauchst du weiter oben gar nicht.

Und ganz wichtig:
Mache nicht alles in der main Methode! Schreib dir für jede Aufgabe eine Methode.
- einlesen
- berechnen
- ausgeben
 

AquaBall

Top Contributor
andererseits: Fehlerfrei und arbeitet richtig!
Kann man auch ne 1 dafür geben.

Was ich nicht gut finde:
1) Warum Zifferncodierung für die Gatter? Besser: sprechend (u,o,x / und,oder,xor) oder gar symbole +*^
2) Die Frage nach "Goto" bringt dir nachträglich noch ein dickes "-" ein. :lol:
 

Oben