Switch case wird als char nicht erkannt....

friedfertig

Mitglied
Hallo zusammen,
ich lerne gerade Java Programmierung, seit heute morgen durchforste ich Google und diversen Foren, finde aber keine Lösung auf das Programm. Ich arbeite gerade das Skript (https://schuelerlabor.informatik.rwth-aachen.de/sites/default/files/content/leitprogramme/Java-Programmierung - Leitprogramm.pdf) durch. Leider sind die Lösungen in Skript etwas veraltet sodass man eigene Lösungen sich erarbeiten muss.
Ich bin jetzt bei Kapitel 6 zum Thema Schleifen bei der letzten Aufgabe und hänge fest.
Meine Frage: ich gebe in der Console den Buchstaben A ein aber es bleibt beim Einlesen stehen und führt mein Case 'A' gar nicht aus. Wie komme ich weiter...

Java:
public static void main(String[] args) {
    int x, y, Eingabe, Ergebnis, Anzahl, Restergebnis, Resteingabe;
    boolean fehler;
    char menuepunkt;
    Anzahl = 0;
    fehler = false;
    menuepunkt = ' ';
    while (menuepunkt != 'E') {
        System.out.print("******Kopfrechentrainerplus******");
        System.out.print("(A)ddition) (S)ubstraktion (M)ultiplikation (D)ivision (E)nde");
        Scanner scan = new Scanner(System.in);
        menuepunkt = scan.next().charAt(0);
        scan.close();
        //Solange der Benutzer keinen Fehler macht wird das Programm ausgeführt
        switch (menuepunkt) {
            case 'A':
                {
                    while (fehler == false);
                    // Zufallszahlen für x undy wiedergeben
                    Random zufall = new Random();
                    x = zufall.nextInt(99) - 99;
                    y = zufall.nextInt(99) - 99;
                    // Trainer stellt die Aufgabe
                    System.out.print("(");
                    System.out.print(x);
                    System.out.print(") + (");
                    System.out.print(y);
                    System.out.print(")=");
                    // Eingabe Schüler
                    Eingabe = scan.nextInt();
                    // Ergebnis KI
                    Ergebnis = x + y;
                    // Wenn die Lösung des Benutzers richtig ist dann
                    if (Eingabe != Ergebnis) {
                        // Fehlerausgabe und Anzahl richtige Ergebnisse
                        System.out.print("FALSCH, du hast ");
                        System.out.print(Anzahl);
                        System.out.print(" = richtige Ergebnisse");
                        fehler = true;
                    }
                    Anzahl = Anzahl + 1;
                }
                Anzahl = 0;
                fehler = false;
                break;
            }
        }
    }
}

Vielen Dank für die Unterstützung, lernen macht Spaß aber wenn man festhängt und keine kompetente Hilfe erhält, ich es sehr frustrieren.
Ich freue mich auf Hilfestellungen um das Skript abzuschließen und meine ersten Schritte erfolgreich zu feiern.
 
Zuletzt bearbeitet von einem Moderator:

friedfertig

Mitglied
Java:
import java.util.Random;
import java.util.Scanner;

public class Kopfrechnerplus {
       
    public static void main(String[] args) {
       
          int x,y,Eingabe,Ergebnis,Anzahl,Restergebnis,Resteingabe;
          boolean fehler;
          char  menuepunkt;
         
          Anzahl = 0;
          fehler = false;
          menuepunkt = ' ';
         
          while (menuepunkt != 'E') {
              System.out.print("******Kopfrechentrainerplus******");
              System.out.print("(A)ddition) (S)ubstraktion (M)ultiplikation (D)ivision  (E)nde");
              Scanner scan = new Scanner (System.in);
              menuepunkt = scan.next().charAt(0);
              scan.close();
          //Solange der Benutzer keinen Fehler macht wird das Programm ausgeführt
          switch (menuepunkt) {
              case 'A': { while (fehler == false);
         //  Zufallszahlen für x undy wiedergeben
               Random zufall =  new Random();
                  x=zufall.nextInt(99)-99;
                  y=zufall.nextInt(99)-99;        
         //  Trainer  stellt die Aufgabe
                  System.out.print("(");
                  System.out.print(x);
                  System.out.print(") + (");
                  System.out.print(y);
                  System.out.print(")=");
                 
          // Eingabe Schüler
                  Eingabe = scan.nextInt();
          // Ergebnis   KI
                  Ergebnis = x +y;
          // Wenn die Lösung  des Benutzers richtig ist dann
                  if (Eingabe != Ergebnis) {
          // Fehlerausgabe und Anzahl richtige Ergebnisse
                      System.out.print("FALSCH, du hast ");
                      System.out.print(Anzahl);
                      System.out.print("  = richtige Ergebnisse");
                      fehler =  true;
                  }
                  Anzahl = Anzahl +1;
                 
              }
                  Anzahl =  0;
                  fehler =  false;
                  break;
           
             
          }
         
       
          }
         
   
    }
   
       
    }

Vielen Dank für den Hinweis :)
 
Zuletzt bearbeitet:

Kirby.exe

Top Contributor
Könnte daran liegen, dass du System in schließt, lösche einfach mal scan.close()

Was mir gerade auffällt:
- Instanziere den Scanner bitte außerhalb der while schleife, da sonst in jeder Iteration ein neues Objekt instanziert wird
- bitte beherzige die Konvention für Variablen, diese sollten immer mit kleinen Buchstaben anfangen
 

friedfertig

Mitglied
Was mir gerade auffällt:
- Instanziere den Scanner bitte außerhalb der while schleife, da sonst in jeder Iteration ein neues Objekt instanziert wird
- bitte beherzige die Konvention für Variablen, diese sollten immer mit kleinen Buchstaben anfangen
[/QUOTE]

Java:
import java.util.Random;
import java.util.Scanner;

public class Kopfrechnerplus {
        
    public static void main(String[] args) {
        
          int x,y,eingabe,ergebnis,anzahl,restergebnis,resteingabe;
          boolean fehler;
          char  menuepunkt;
          
          anzahl = 0;
          fehler = false;
          menuepunkt = ' ';
          
          Scanner scan = new Scanner (System.in);
          
          while (menuepunkt != 'E') {
              System.out.print("******Kopfrechentrainerplus******");
              System.out.print("(A)ddition) (S)ubstraktion (M)ultiplikation (D)ivision  (E)nde");
              menuepunkt = scan.next().charAt(0);
          //Solange der Benutzer keinen Fehler macht wird das Programm ausgeführt
          switch (menuepunkt) {
              case 'A': { while (fehler == false);
         //  Zufallszahlen für x undy wiedergeben
               Random zufall =  new Random();
                  x=zufall.nextInt(99)-99;
                  y=zufall.nextInt(99)-99;         
         //  Trainer  stellt die Aufgabe
                  System.out.print("(");
                  System.out.print(x);
                  System.out.print(") + (");
                  System.out.print(y);
                  System.out.print(")=");
                  
          // Eingabe Schüler
                  eingabe = scan.nextInt();
          // Ergebnis   KI
                  ergebnis = x +y;
          // Wenn die Lösung  des Benutzers richtig ist dann
                  if (eingabe != ergebnis) {
          // Fehlerausgabe und Anzahl richtige Ergebnisse
                      System.out.print("FALSCH, du hast ");
                      System.out.print(anzahl);
                      System.out.print("  = richtige Ergebnisse");
                      fehler =  true;
                  }
                  anzahl = anzahl +1;
                  
              }
                  anzahl =  0;
                  fehler =  false;
                  break;
            
              
          }
          
        
          }
          
    
    }
    
        
    }

Ich habe die Konventionen für Variablen angepasst und den Scanner vor die Schleife gezogen und scan.close() gelöscht. Leider ohne Erfolg, in der Console gebe ich A ein. Es passiert nichts, Case ‘A‘ wird nicht ausgeführt, die zweite Schleife und der Switch mit dem Case wird gar nicht in der Console ausgegeben. Es scheint als wird ‘A‘ nicht als Case erkannt und das Programm hängt dort........
 
K

kneitzel

Gast
Was fällt Dir an
while (fehler == false);
auf?

Generell solltest Du eine IDE nutzen, die Code richtig einrückt und diese Funktionalität generell nutzen. Sonst fallen so Probleme generell nicht oder nur sehr schwer auf.

Ich vermute, dass die { vor den while nach dem while kommen sollte und das das Semikolon da einfach nur versehentlich gelandet ist ...
 

friedfertig

Mitglied
Vielen lieben Dank "JustNobody", du hast mir den Tag echt gerettet. Jetzt kann ich im Skript weiter machen und mit dem Thema Array starten.
Manchmal sieht man vor lauter Bäume den Wald nicht mehr. (Aber wenn ich jeden Tag übe, werde ich zukünftig solche Fehler sehen und wie du anderen helfen können.:)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Switch-Case Multiplikation wird nicht ausgegeben Java Basics - Anfänger-Themen 1
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
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
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
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
F Switch Case Problem mit Regex lösen? 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
D Klassen Problem bei switch-case? Java Basics - Anfänger-Themen 2
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
T kleines problem mit switch case Java Basics - Anfänger-Themen 11
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
F Ps to kW Konvertierer switch-case Problem Java Basics - Anfänger-Themen 4
Q switch case hier möglich Java Basics - Anfänger-Themen 10
A Switch-Case Problem Java Basics - Anfänger-Themen 17
A Do While mit Switch Case Java Basics - Anfänger-Themen 2
berti99 Switch-Case || Problem... Java Basics - Anfänger-Themen 6
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
C Switch / Case Problem, break funktioniert nicht! Java Basics - Anfänger-Themen 3
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