Endlosschleife bricht durch switch ab

MFKMK

Mitglied
Hi Leute,

Ich hab ne Endlosschleife (While(true)) und darin ne Swicht-Case Anweisung und beim ersten durchlauf bricht die Endlosschleife ab. Nach jedem Case kommt ein break (sollte aber nur die Switch beenden), habs auch ohne break versucht -> bricht trotzdem ab. wenn ich Switch raus nehme gibt's keine Probleme. wenn jemand weiter weiß wäre ich echt froh.

Danke MFK
 

eRaaaa

Top Contributor
Codebeispiel? Möglich dass du ein break; falsch gesetzt hast und es eben nicht zum switch sondern zur Schleife gehört ?!
 

MFKMK

Mitglied
Java:
while (true) {

            Result result = recognizer.recognize();
            if (result != null) {
                String resultText = result.getBestFinalResultNoFiller();
                
                System.out.println(resultText); 
                
                switch(resultText) {
                case "abc":
                	Answer = "abc";
                	VoiceOutput(Answer);
                	break;
                case "cds":
                	Answer = "cds";
                	VoiceOutput(Answer);
                	break;
                case "xyz":
                	Answer = "xyz";
                	VoiceOutput(Answer);
                	break;
                }
                
            }else {
                System.out.println("Error");
            } 
        }
 

eRaaaa

Top Contributor
Hm kann mir nur evtl. vorstellen dass du unter Umständen von getBestFinalResultNoFiller() kein bestes Resultat zurück bekommst (sprich null), das switch demzufolge eine NPE wirft, die du irgendwo mit einem try catch auffängst?
Dann müsstest du das aber durch Zeile 7 eig. sehen und wäre entwas strange. Andere Möglichkeit, dein VoiceOutput-Methode wirft eine Exception ?! :autsch:
 
Zuletzt bearbeitet:

MFKMK

Mitglied
danke für die antwort. aber ich glaub nicht dass es daran liegt, weil alles bestens funktioniert wenn ich Switch raus nehme! hab auch schon mit Default:..... versucht bringt auch nicht.
 

eRaaaa

Top Contributor
danke für die antwort. aber ich glaub nicht dass es daran liegt, weil alles bestens funktioniert wenn ich Switch raus nehme! hab auch schon mit Default:..... versucht bringt auch nicht.

Glauben ist nicht wissen und wie oft haben wir das hier schon gehört....wieso fragt ihr eig. in einem Forum wenn ihr dann eh niemandem glaubt?
Wenn du das Switch entfernst, entfernst du dann den Aufruf von VoiceOutput(Answer); auch?

mache doch mal while(true){ VoiceOutput("abc");} Und du hättest zumindest mal schreiben können was die Zeile 7 ausgibt...

Ansonsten zeige doch mal die ganze Klasse.....
 

MFKMK

Mitglied
Sorry, ich hab mich da wohl unklar ausgedrückt. VoiceOut() bleibt in der while nur das Switch Konstrukt fliegt raus -> dann ist alles in bester Ordnung, wenn ich Switch wieder rein nehme geht nix mehr. Also alle "Teile" der while bleiben wie sie sind nur Switch-Case wird entfernt.

wenn es so wäre wie du meinst dann müsst ich ohne Switch-Case den selben Effekt bekommen wie oben beschrieben. deswegen meinte ich: ich glaube nicht....

aber trotzdem danke für deine Antwort!
 

eRaaaa

Top Contributor
Sorry, ich hab mich da wohl unklar ausgedrückt. VoiceOut() bleibt in der while nur das Switch Konstrukt fliegt raus -> dann ist alles in bester Ordnung, wenn ich Switch wieder rein nehme geht nix mehr. Also alle "Teile" der while bleiben wie sie sind nur Switch-Case wird entfernt.

wenn es so wäre wie du meinst dann müsst ich ohne Switch-Case den selben Effekt bekommen wie oben beschrieben. deswegen meinte ich: ich glaube nicht....

aber trotzdem danke für deine Antwort!

Vlt. drückst du dich auch einfach nur schwierig und unvollständig aus. Denn ich verstehe unter "ohne Switch-Case" dass das gesamte Konstrukt rausfliegt, da der Aufruf von VoiceOutput aber innerhalb des case ist, hieße das für mich, dass du dies auch enternt hast bei deinem Test.

Aber ich bleibe ja hartnäckig, wir wollen dir ja helfen. Bitte ersetze doch mal deine gesamte while-Schleife mit folgendem:

Java:
while (true) {
            Result result = recognizer.recognize();
            if (result != null) {
                String resultText = result.getBestFinalResultNoFiller();
                 System.out.println(resultText); 
                VoiceOutput("abc");
            }else {
                System.out.println("Error");
            } 
        }

Was nun? :pueh: (das müsste ja der Test sein von dem du die ganze Zeit sprichst?)
 
Zuletzt bearbeitet:

redJava99

Bekanntes Mitglied
break bricht eine Schleife nunmal ab, auch wenn sie hier im switch verwendet wird.
Lass die break Anweisungen weg. Dann werden die anderen Fälle zwar geprüft, am Ergebnis ändert sich hier aber nichts, da sich alle cases paarweise ausschließen.
 

Bqg_stylo

Mitglied
break bricht eine Schleife nunmal ab, auch wenn sie hier im switch verwendet wird.
Lass die break Anweisungen weg. Dann werden die anderen Fälle zwar geprüft, am Ergebnis ändert sich hier aber nichts, da sich alle cases paarweise ausschließen.

Totaler Müll sofort vergessen! Davon stimmt nichts!

1. wenn "case" ohne break beendet wird dann werden alle Fälle die nachfolgen mit durchlaufen ohne erneute Fallprüfung
2. die while Schleife wird in diesem Fall nicht abgebrochen sonder nur der switch

Java:
public class Switch {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		int i=2;
		while(true){
			switch(i){
			case 2: System.out.println("2");break;
			case 3: System.out.println("3");break;
			}
		}
	}

}
Funktioniert bestens.
 
Zuletzt bearbeitet:

redJava99

Bekanntes Mitglied
ouh, ich nehme alles zurück, sorry. Eben getestet. War voll davon überzeugt -.-

@Bqg_stylo: "Davon stimmt nichts" ist aber etwas übertrieben. Der erste Satz stimmt nicht.
 
Zuletzt bearbeitet:

MFKMK

Mitglied
Leute danke für die vielen Postings!!!

ich habs mittlerweile geklärt: in VoiceOut() ist nochmal eine Methode in einer anderen file: Player() und darin ist ein System.exit(0); habs raus genommen und alles läuft.

was mir allerdings ein Rätsel bleibt ist warum es nur dann "wirkt" wenn ich das ganze mit Switch programmiere!?

@eRaaa: hab den Code den du gepostet hast schon etliche male versucht und der funktionierte immer nur eben nicht mit Switch.

Danke euch allen für die Hilfe!!!

Mfg MFKMK
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Hilfe bei Endlosschleife Java Basics - Anfänger-Themen 2
B In einem Thread Endlosschleife beenden Java Basics - Anfänger-Themen 19
noah1407 endlosschleife Java Basics - Anfänger-Themen 7
G Endlosschleife keine Rückgabe Java Basics - Anfänger-Themen 36
sserio Endlosschleife ja nein? Java Basics - Anfänger-Themen 13
javapingu Endlosschleife bei User Input mit try Scanner Java Basics - Anfänger-Themen 7
B Endlosschleife Thread sauber beenden Java Basics - Anfänger-Themen 19
S While-Schleife geht in Endlosschleife über, warum? Java Basics - Anfänger-Themen 6
O Endlosschleife abbrechen Java Basics - Anfänger-Themen 10
S Endlosschleife beim Ausgeben einer LinkedList Java Basics - Anfänger-Themen 2
S Interpreter-Fehler Endlosschleife zur Laufzeit aber warum? Java Basics - Anfänger-Themen 15
T Erste Schritte Endlosschleife & wozu braucht man /* und */ Java Basics - Anfänger-Themen 19
J Endlosschleife bei Try-Catch? Java Basics - Anfänger-Themen 3
S Endlosschleife - Warum? Java Basics - Anfänger-Themen 1
C Endlosschleife bei füllen von Daten im JTable Java Basics - Anfänger-Themen 5
C Collatzfolge endlosschleife. Java Basics - Anfänger-Themen 4
D Array in Endlosschleife überschreibt vorherige Werte Java Basics - Anfänger-Themen 4
E Eulersche Zahl berechnen, Endlosschleife Java Basics - Anfänger-Themen 2
N Endlosschleife... Warum? Java Basics - Anfänger-Themen 12
P Kapselung Problem - Endlosschleife Java Basics - Anfänger-Themen 10
D Endlosschleife und ich komme nicht raus! Java Basics - Anfänger-Themen 8
N Erste Schritte Endlosschleife und Exception Java Basics - Anfänger-Themen 5
R Endlosschleife nach InputMismatchException Java Basics - Anfänger-Themen 2
S Endlosschleife? Java Basics - Anfänger-Themen 2
T Endlosschleife Java Basics - Anfänger-Themen 2
Z Endlosschleife Java Basics - Anfänger-Themen 6
T Endlosschleife Java Basics - Anfänger-Themen 12
H Wieso ist das eine Endlosschleife? Java Basics - Anfänger-Themen 8
StupidAttack Endlosschleife, Sockets Java Basics - Anfänger-Themen 2
C ungewollte Abbrüche in einer Endlosschleife Java Basics - Anfänger-Themen 6
E komische endlosschleife Java Basics - Anfänger-Themen 6
7 Endlosschleife pausieren Java Basics - Anfänger-Themen 11
F .readLine() erzeugt endlosschleife Java Basics - Anfänger-Themen 4
R Wieso hänge ich hier in einer Endlosschleife (vermute ich zumindest)? Java Basics - Anfänger-Themen 2
F Falscheingabe abfangen - Endlosschleife Java Basics - Anfänger-Themen 5
R warum endlosschleife? Java Basics - Anfänger-Themen 7
W Fakultät, warum Endlosschleife? Java Basics - Anfänger-Themen 15
S JTable Endlosschleife Java Basics - Anfänger-Themen 5
J Aus endlosschleife kommen Java Basics - Anfänger-Themen 5
R Endlosschleife verhindert das Schließen des Fensters Java Basics - Anfänger-Themen 10
Povlsen84 Endlosschleife Java Basics - Anfänger-Themen 5
V Bubble Sort endet in Endlosschleife Java Basics - Anfänger-Themen 4
Antoras Endlosschleife Java Basics - Anfänger-Themen 8
J Wartezustand in Endlosschleife - bessere Alternativen Java Basics - Anfänger-Themen 20
H Problem beim Einlesen einer Datei (Endlosschleife ?) Java Basics - Anfänger-Themen 3
N Endlosschleife? Java Basics - Anfänger-Themen 3
V mehrere Threads starten + Endlosschleife Java Basics - Anfänger-Themen 3
I Hilfe wer findet mein Fehler in bei der Endlosschleife Java Basics - Anfänger-Themen 7
G Sound/Endlosschleife/Abbruchproblem Java Basics - Anfänger-Themen 3
G HappyNumbers - Endlosschleife Java Basics - Anfänger-Themen 11
0 Endlosschleife beim Integer Array mischen? Java Basics - Anfänger-Themen 3
M OutputStream funktioniert nur in Endlosschleife ? Java Basics - Anfänger-Themen 4
G Endlosschleife, aber warum? Java Basics - Anfänger-Themen 12
G Endlosschleife beenden Java Basics - Anfänger-Themen 10
T Rekursion Warum bricht meine Funktion nicht ab Java Basics - Anfänger-Themen 4
F Programm bricht While Schleife nicht ab Java Basics - Anfänger-Themen 4
M while-Schleife bricht nicht ab Java Basics - Anfänger-Themen 9
B Applet - Laden eines Java-Fensters bricht ab Java Basics - Anfänger-Themen 6
Anfänger2011 Wie bricht man alles ab wenn eine Bedingung nicht erfüllt ist? Java Basics - Anfänger-Themen 21
Luk10 Wieso bricht die Rekursion nicht ab? Java Basics - Anfänger-Themen 3
H Exception bricht nicht ab Java Basics - Anfänger-Themen 2
S URL bricht machmal. Wie verhindere ich das? Java Basics - Anfänger-Themen 6
J return bricht methode nicht ab Java Basics - Anfänger-Themen 12
L Schleife bricht plötzlich ohne Grund ab Java Basics - Anfänger-Themen 7
L do while schleife mit eingabescanner bricht nieeee ab? Java Basics - Anfänger-Themen 2
W API-Docs. dl bricht dauern ab Java Basics - Anfänger-Themen 4
Z FileInputStream bricht ab Java Basics - Anfänger-Themen 6
N Methode bricht ab Java Basics - Anfänger-Themen 3
M BufferedReader bricht mein programm ab => hilfe Java Basics - Anfänger-Themen 2
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
X wie bekomme ich durch Eingabeaufforderung definierte double in einen Befehl, welcher 3 erwartete double braucht? Java Basics - Anfänger-Themen 3
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
H Counter durch gepresste Taste nur auf 1 erhöhen und nicht durchzählen lassen Java Basics - Anfänger-Themen 7
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
G Programm läuft durch, ohne Eingabe aus dem Chat abzuwarten Java Basics - Anfänger-Themen 4
S IntelliJ geht alle Klassen durch Java Basics - Anfänger-Themen 9
A 1 Leerzeichen durch zwei Leerzeichen ersetzen Java Basics - Anfänger-Themen 4
E Durch Muster in Array iterieren Java Basics - Anfänger-Themen 3
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
A JTextArea entfernen und durch neuen Text ersetzen Java Basics - Anfänger-Themen 8
B Den Dateipfad einer Java Datei durch Code in Selbiger finden? Java Basics - Anfänger-Themen 10
T Variable durch Action Listener ändern Java Basics - Anfänger-Themen 2
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32
Agent4nobody Programmstart durch aufruf des interpreters funktioniert nicht Java Basics - Anfänger-Themen 14
obiwanke Ziffern durch ASCII Character ersetzen Java Basics - Anfänger-Themen 8
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
sserio Java Fx, wie erstellt man einen EventHandler, der durch das Drücken eines Button Texte in eine Table view einfügt Java Basics - Anfänger-Themen 17
S Durch HashMap iterieren Java Basics - Anfänger-Themen 8
A Wenn eine Zahl durch 7 teilbar ist, soll statt der Zahl ein ‘*‘ angezeigt werden. java? Java Basics - Anfänger-Themen 47
K mit <<1 kann man mal 2 machen, mit >>2 geteilt durch zwei und was bewirkt <<<1 und >>>1? Java Basics - Anfänger-Themen 5
A Verarbeiten einer Excel Datei durch das java-Programm Java Basics - Anfänger-Themen 3
C In String, Buchstaben ersetzen durch andere Buchstaben Java Basics - Anfänger-Themen 26
F Initialisieren eines Web-Mp3 Players in Tabs durch "booleans" erst wenn Tab geöffnet wird ...? Java Basics - Anfänger-Themen 1
W Werte durch Konsole einlesen Java Basics - Anfänger-Themen 10
C if-Konstrukt durch switch-Konstrukt ersetzen Java Basics - Anfänger-Themen 14
OZAN86 For Schleife von 1-50 die Zahlen werden durch ein Komma getrennt Java Basics - Anfänger-Themen 10
Bademeister007 Operatoren Alle Zahlen einer ArrayList die durch 5 teilbar ist Java Basics - Anfänger-Themen 2
Y Wie kann ich Konsoleneingaben durch den Scanner mit JUnit 4 testen? Java Basics - Anfänger-Themen 1
yoskaem Text Color durch Klicken eines Buttons in anderer Activity ändern Java Basics - Anfänger-Themen 2
N for Schleife durch Rekursion ersetzen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben