Switch-Case Problem

Hallo allo zusammen,

Ich habe ein folgendes Problem bei der Implementierung eine Switch- Case Anweisung :

Code:
System.out.println("Bitte geben Sie Ihre Auswahl : "); 
		Eingabe = TerminalInput.readCharacter();//Eingabe von der Tastatur
		
		
		switch(Eingabe)
		{
		case'n':
		case'N': 
			System.out.println ("Typ des Objekts [Q,Z,P,K]: ");
			
			
	
		}


Ich kann jetzt n oder N eingeben, was auch wunderbar funktioniert. Nachdem die Meldung "Typ des Objekts...." erscheint, möchte ich wieder eine Buchstabe (Q, Z, P oder K) von der Tastatur einlesen können. Ich sitze jetzt schon seit 2 Stunden davor und weiß immer noch nicht, wie es weitergehen soll. Würde mich freuen, wenn mir jemand behilflich sein kann. Vielen Dank im Voraus. Mfg
 
G

Gast2

Gast
Mit einer Schleife:

Java:
boolean loop = true;

while (loop) {
   System.out.println("Bitte geben Sie Ihre Auswahl : "); 
   Eingabe = TerminalInput.readCharacter();//Eingabe von der Tastatur
		
    switch(Eingabe)
   {
       case'n':
       case'N': 
       System.out.println ("Typ des Objekts [Q,Z,P,K]: ");
       break;

      case 'z':
      case 'Z': loop = false; break;
   }
}
(ungetestet)
 

s87

Mitglied
hi,

also verlass dich jetzt nich auf mich, hab erst mit dem programmieren angefangen und mir ist auch nicht ganz klar was du da tun willst, aber so wie ich das jetzt verstanden habe - würde ich es glaub ich so lösen:

Java:
System.out.println("Bitte geben Sie Ihre Auswahl : "); 
Eingabe = TerminalInput.readCharacter();//Eingabe von der Tastatur
		
switch(Eingabe)
{
case'n':
case'N':System.out.println ("Typ des Objekts [Q,Z,P,K]: ");
Eingabe2 = TerminalInput.readCharacter(); break;
}

switch(Eingabe2){
case'Q':
case'Z':
case'P':
case'K':
}

hab es jetzt aber auch nicht getestet... kA obs dir hilft, wenn nicht ---> der gute wille zählt :D

cheers
 
Vielen Dank für die rasche Antwort. Das Ergebnis war aber nicht so, wie ich es mir vorgestellt habe. Ich versuche mich mal anders auszudrückeN: Die Ausgabe auf dem Bildschirm sollte folgendermaßen ausschauen:

Bitte geben Sie Ihre Auswahl : n (dann Enter drücken)

Typ des Objekts(Q, Z, P oder K): q (genau diese 2. Eingabe funktioniert nicht)

Nachdem ich n eingegeben habe erscheint die Ausgabe "Typ des Opjekts....). Danach kann man aber nichts mehr eintippen, weil das Programm an der Stelle terminiert.
 

Nardian

Bekanntes Mitglied
und wann soll es terminieren?

weil mit der lösung aus dem 2. post würde das programm erst terminieren, wenn du z eingibst...

/edit:
bzw schreib einfach mal, was du vom proggy erwarten würdest, wie er sich verhalten soll, wann terminieren, wann welche ausgabe, etc...
 

s87

Mitglied
und wenn du einfach immer "intern" auf große ODER kleine abfrägst? also mit dem "tolowercase....." sieht ja niemand was du intern machst oder bin ich damit wieder an deiner Problemstellung vorbei gerasselt? :D
 
es folgen später noch andere Case-Anweisungen. Eine davon ist für die Terminierung gedacht. aber so weit bin ich noch nicht gekommen :

Code:
do  
    {
      //--- Menueausgabe
      System.out.println ("=== M E N U E === ");
      System.out.println ("n oder N   => Neuanlegen eines Objekts");
      System.out.println ("m oder M   => Modifizieren eines Objekts");
      System.out.println ("a oder A   => Ausgabe der Daten eines Objekts");
      System.out.println ("z oder Z   => Zeichnen eines Objekts");
      System.out.println ("x oder X   => Beenden des Programms");
      System.out.print ("   -> Bitte ihre Eingabe: " );
      befehl = instream_ref.liesCharacterSkipLine ();

      System.out.println ("\n\n\n\n");
      switch (befehl)  
      {
        case 'n': 
        case 'N':
                  System.out.println ("Typ des Objekts [Q,Z,P,K]: ");
                  typ = instream_ref.liesCharacterSkipLine ();
                  switch (typ)
                  {
                    case 'q':
                    case 'Q': laenge = instream_ref.liesDoubleN ("Laenge des Quaders: ");
                              breite = instream_ref.liesDoubleN ("Breite des Quaders: ");
                              hoehe = instream_ref.liesDoubleN ("Hoehe des Quaders: ");
                              container_ref [index] = new Quader (laenge, breite, hoehe);                         
                              break;
                    
                  } //endswitch
              break;

Ich bin jetzt im Abschnitt "Neuanlegen eines Objektes"
 
S

SlaterB

Gast
anscheinend wird irgendwas direkt akzeptiert, 'SkipLine' klingt auch verdächtig,
schreibe

System.out.println ("Typ des Objekts [Q,Z,P,K]: ");
typ = instream_ref.liesCharacterSkipLine ();
System.out.println("ihre eingabe war: "+typ);

welche Ausgabe?, wie sieht liesCharacterSkipLine() aus?
 
SkipLine sieht so aus :

Code:
	public char liesCharacterSkipLine () 
	{
	  String zeile_ref ;

	  zeile_ref = liesString () ;
	  if (zeile_ref.length () == 0)
	    return '\n' ;
	  else
	    return zeile_ref.charAt (0) ;
	} //endmethod liesCharacterSkipLine
 

Nardian

Bekanntes Mitglied
scheint mir auch komisch...

da ich deine instream_ref... nicht habe, hab ich mir schnell nen scanner gebaut
Java:
Scanner scan = new Scanner(System.in);
und zum einlesen:
Java:
befehl = scan.next().toCharArray()[0];
ist vielleicht nicht unbedingt die sauberste variante, aber es funktioniert, ich kann alles einlesen, (auch 'q') ... läuft alles ohne probleme
 
G

Gast2

Gast
Schreib sonst zu debugzwecken mal noch nen
default: System.out.println(befehl) bzw. System.out.println(typ) in die switches damit du weißt was da überkommt.
 

Nardian

Bekanntes Mitglied
Java:
import java.util.Scanner;

public class test {
	public static void main(String[] args) {
		boolean end = false;
		char befehl, typ;
		Scanner scan = new Scanner(System.in);
		do {
			// --- Menueausgabe
			System.out.println("=== M E N U E === ");
			System.out.println("n oder N   => Neuanlegen eines Objekts");
			System.out.println("m oder M   => Modifizieren eines Objekts");
			System.out.println("a oder A   => Ausgabe der Daten eines Objekts");
			System.out.println("z oder Z   => Zeichnen eines Objekts");
			System.out.println("x oder X   => Beenden des Programms");
			System.out.print("   -> Bitte ihre Eingabe: ");
			befehl = scan.next().toCharArray()[0];

			System.out.println("\n\n\n\n");
			switch (befehl) {
				case 'n':
				case 'N':
					System.out.println("Typ des Objekts [Q,Z,P,K]: ");
					typ = scan.next().toCharArray()[0];
					switch (typ) {
						case 'q':
						case 'Q': //die weiteren eingaben wurden gelöscht, sollte aber kein problem sein sie wieder hinzuzufuegen
							System.out.println("Q wurde eingegeben");
							break;
						
					} // endswitch
					break;
				case 'z':
				case 'Z':
					end = true;
			}
		} while (!end);
	}
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
F Switch Case Problem mit Regex lösen? Java Basics - Anfänger-Themen 6
D Klassen Problem bei switch-case? Java Basics - Anfänger-Themen 2
T kleines problem mit switch case Java Basics - Anfänger-Themen 11
F Ps to kW Konvertierer switch-case Problem Java Basics - Anfänger-Themen 4
berti99 Switch-Case || Problem... Java Basics - Anfänger-Themen 6
C Switch / Case Problem, break funktioniert nicht! Java Basics - Anfänger-Themen 3
K Mehrere Werte in einem Switch Case parallel überprüfen Java Basics - Anfänger-Themen 23
D Switch Case Methode aufrufen Java Basics - Anfänger-Themen 3
L Switch-Case Multiplikation wird nicht ausgegeben Java Basics - Anfänger-Themen 1
P9cman Vokal Zähler mit switch case und for-Schleife Java Basics - Anfänger-Themen 4
C Potenzberechnung über switch case. Taschenrechner mit Eingabe über einen grafischen Dialog Java Basics - Anfänger-Themen 22
1 Switch Case Java Basics - Anfänger-Themen 3
T Alternative für switch case Java Basics - Anfänger-Themen 1
W Taschenrechner mit Switch case Java Basics - Anfänger-Themen 4
B Notensystem Switch-Case Java Basics - Anfänger-Themen 31
S Switch-Case zur Berechnung der Einkommensteuer Java Basics - Anfänger-Themen 15
F Switch case wird als char nicht erkannt.... Java Basics - Anfänger-Themen 6
H Frage zur if-Bedingung bzw switch case Java Basics - Anfänger-Themen 6
S switch case fängt beim letzten case an Java Basics - Anfänger-Themen 6
W Wieso funktioniert mein Switch Case nicht ?! Java Basics - Anfänger-Themen 9
F Switch Case Modulo berechnen Java Basics - Anfänger-Themen 12
S Switch-Case für eine Array-Zuordnung Java Basics - Anfänger-Themen 5
S switch und case Java Basics - Anfänger-Themen 1
B Wiederholen einer if/switch-case Schleife Java Basics - Anfänger-Themen 9
X Nach switch case weiter mit Auswahl Java Basics - Anfänger-Themen 7
T switch case und continue Java Basics - Anfänger-Themen 5
D switch case Code Java Basics - Anfänger-Themen 3
F Erste Schritte Switch case vs. Verschachtelte If Anweisung Java Basics - Anfänger-Themen 11
K Variablen RETURN in Case-Switch / This method must return a result of type Item Java Basics - Anfänger-Themen 4
R Switch: Nach durchlaufen des Case wieder zum Menü Java Basics - Anfänger-Themen 3
A Switch Case Java Basics - Anfänger-Themen 5
T Erste Schritte switch case Anweisung und if else Verzweigungen? Java Basics - Anfänger-Themen 6
A ArrayList-iteration mit Prüfung auf instanceof durch switch case? Java Basics - Anfänger-Themen 13
P Switch Case - Fließkommazahl Java Basics - Anfänger-Themen 2
lulas[]args Switch Schleife - orphaned case Java Basics - Anfänger-Themen 27
R Switch/Case frage: Java Basics - Anfänger-Themen 12
K Input/Output switch case - Parameterübergabe args[0] Java Basics - Anfänger-Themen 34
P Compilerfehler bei switch-case Java Basics - Anfänger-Themen 18
D Switch und Case Java Basics - Anfänger-Themen 3
Q switch case hier möglich Java Basics - Anfänger-Themen 10
A Do While mit Switch Case Java Basics - Anfänger-Themen 2
R Switch-Case Selektion Java Basics - Anfänger-Themen 13
O Switch-Case - Case 4 erhöhen Java Basics - Anfänger-Themen 9
M Frage zu Mehrfachauswahl mit switch ... case Java Basics - Anfänger-Themen 3
R Umlaute mit Switch-Case tauschen Java Basics - Anfänger-Themen 26
J switch-case Java Basics - Anfänger-Themen 19
G Switch-Case harmoniert nicht mit Random-Zahl Java Basics - Anfänger-Themen 3
I If abfrage in switch case einbauen Java Basics - Anfänger-Themen 5
R Erlaubte Selektoren bei Switch-Case Java Basics - Anfänger-Themen 2
Silas89 String in switch - case Java Basics - Anfänger-Themen 19
G Switch Case Java Basics - Anfänger-Themen 8
G zu blöd für switch case? Java Basics - Anfänger-Themen 6
G switch-case mit Strings Java Basics - Anfänger-Themen 7
T Switch Case Java Basics - Anfänger-Themen 6
A Aus switch case an den Anfang? Java Basics - Anfänger-Themen 7
P switch-case Konstrukt auch mit case i < 6: s = 6 ? Java Basics - Anfänger-Themen 10
G switch-case mit Fehler auf return-Wert-Typ Java Basics - Anfänger-Themen 2
S Zählen mit switch case Java Basics - Anfänger-Themen 8
J Aufgabe mit Arrays, Schleifen & Switch/Case Java Basics - Anfänger-Themen 7
M switch-case und array Java Basics - Anfänger-Themen 3
C switch-case mit bedingungen? Java Basics - Anfänger-Themen 5
J Switch Anweisung: Case "Wert1" bis "Wert2&quo Java Basics - Anfänger-Themen 2
D switch case must be constant expression Java Basics - Anfänger-Themen 7
A Switch Case Java Basics - Anfänger-Themen 4
G Mit Switch/Case Zahlen zu Array hinzufügen Java Basics - Anfänger-Themen 14
M HILFE bei switch & case Java Basics - Anfänger-Themen 15
A switch case mit einem String Java Basics - Anfänger-Themen 4
M switch case Java Basics - Anfänger-Themen 5
_so_far_away_ Inventarisierungssystem brauche switch Cases und weiß nicht, wie ich e implementieren muss Java Basics - Anfänger-Themen 5
M error: '.class' expected switch(char) Java Basics - Anfänger-Themen 32
A switch statement Java Basics - Anfänger-Themen 4
volcanos enum und switch (neu): falschen Wert mit IllegalArgumentException oder mit EnumConstantNotPresentException abfangen ? Java Basics - Anfänger-Themen 51
X Enum Abfrage ohne if, for, while oder switch Java Basics - Anfänger-Themen 21
Lion.King switch-Befehl Java Basics - Anfänger-Themen 6
U Warum kann ich die Methode in der ENUM Klasse nicht aufrufen? Und warum geht die Switch nicht? Java Basics - Anfänger-Themen 8
U Warum gibt das eine Nullpointerexception? (Switch) Java Basics - Anfänger-Themen 6
C if-Konstrukt durch switch-Konstrukt ersetzen Java Basics - Anfänger-Themen 14
C Taschenrechner (switch) in Taschenrechner mit Methoden umwandeln Java Basics - Anfänger-Themen 115
V Switch Methode macht Code kaputt Java Basics - Anfänger-Themen 18
J Parameterübergabe in switch? Java Basics - Anfänger-Themen 2
M Switch Java Basics - Anfänger-Themen 2
F Erste Schritte Frage zu simplem Taschenrechner(switch) Java Basics - Anfänger-Themen 16
NoMercy BitFlags Programm (switch on/off , swap und isSet) Java Basics - Anfänger-Themen 7
L Taschenrechner mit switch und while funktioniert noch nicht richtig Java Basics - Anfänger-Themen 22
B Problem bei switch statement Java Basics - Anfänger-Themen 4
E Input/Output Switch ausgabe anpassen bzw. anders darstellen Java Basics - Anfänger-Themen 13
A Warum funktioniert switch aber nicht if/else? Java Basics - Anfänger-Themen 23
K Erste Schritte switch - Warum sind long/float/double/... nicht erlaubt? Java Basics - Anfänger-Themen 5
Ponychan95 Erste Schritte Switch fällt immer bis zum default durch Java Basics - Anfänger-Themen 4
P Bei Switch-Anweisung wird default-Anweisung angezeigt Java Basics - Anfänger-Themen 4
D kleiner Taschenrechner mit switch fehlerhaft Java Basics - Anfänger-Themen 1
O This in switch anweisung Java Basics - Anfänger-Themen 5
V Fehlerhafte BufferedReader/switch Benutzung? Java Basics - Anfänger-Themen 2
R Methoden Switch wählt das Falsche Java Basics - Anfänger-Themen 17
B Erste Schritte Addition von double in switch-Anweisung Java Basics - Anfänger-Themen 2
M Endlosschleife bricht durch switch ab Java Basics - Anfänger-Themen 17
D Array in switch Java Basics - Anfänger-Themen 3
Devil0s if vs. switch Java Basics - Anfänger-Themen 27
F Reset in der switch Anweisung Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben