if else Anweisung macht nicht was es soll. Wieso?

jaykop

Mitglied
Hallo,

wäre nett wenn mir einer zu dem unteren Code sagen könnte was ich da falsch gemacht habe.
Der Compiler ignoriert irgend wie die letzte else if(..) Anweisung. Ein Fehler beim Compilieren wird auch nicht ausgespuckt.

gruß
jaykop



Java:
        // Zeichen konkatinieren    
        String zusammenFassung = "";
        for (int i = 0; i < a.length(); i++) {

            int StringLaenge = a.length() - 1;
            char zeichen = a.charAt(i);

            if (zeichen != ',') {
                String tmp = String.valueOf(zeichen);
                zusammenFassung = zusammenFassung + tmp;

            } else if (zeichen == ',') {
                System.out.println("ZusmmenFassung: " + zusammenFassung);
                zusammenFassung = "";
            
// hier kommt man garnicht an. Sollte aber gehen ?
            } else if (i == StringLaenge) {
                System.out.println("ZusmmenFassung: " + zusammenFassung);
            }


        }
 

Clayn

Aktives Mitglied
Er kommt nicht hin, da eine der beiden vorherigen Bedinungen erfüllt wird.
Entwerder ist zeichen!=',' oder ==',' und somit wird er nie die letzte if Prüfung machen.

Wenn du am Ende der Schleife einfach nur den Text ausgeben lassen willst, machs einfach direkt hinter der Schleife ohne if.

MFG
Clayn
 
N

nillehammer

Gast
Java:
            if (zeichen != ',') {
                String tmp = String.valueOf(zeichen);
                zusammenFassung = zusammenFassung + tmp;
 
            } else if (zeichen == ',') {
                System.out.println("ZusmmenFassung: " + zusammenFassung);
                zusammenFassung = "";
Da Zeichen entweder ',' ist oder eben nicht, wird immer einer der ersten beiden Zweige betreten und nie der Dritte. Das ist ein logischer Fehler in Deinem Programm und kein Compiler-Fehler. Baue entweder die Bedingungen um oder mache statt dem zweiten else-if ein schlichtes neues if.
 

jaykop

Mitglied
Danke für die Antwort ergibt sinn.

Mein Ziel ist es mit der Schleife nur die Zahlen ohne das komma auszulesen. Die Eingabe eines Strings "12,34,56,7" sollte dann sein.
12
34
56
7

Deswegen die if abfragen.
 

jaykop

Mitglied
Ich hätte da noch eine Frage. Wieso kommt der jetzt nicht in die zweite else if. Ich habe jetzt die letzten else if() rheienfolge geändert um zu schauen was passiert. Ich dachte ich habe es verstanden ;(

gruß
jaykop

Java:
       // Zeichen konkatinieren    
        String zusammenFassung = "";
        for (int i = 0; i < a.length(); i++) {

            int StringLaenge = a.length() - 1;
            char zeichen = a.charAt(i);

            if (zeichen != ',') {
                String tmp = String.valueOf(zeichen);
                zusammenFassung = zusammenFassung + tmp;

// Wenn i und StringLaenge die gleichen Werte habe wird nicht die innere Anweisung ausgeführt sondern es springt zum Schleifen Kopf.
            } else if (i==StringLaenge) { 
                System.out.println("ZusmmenFassung: " + zusammenFassung);
                

            } else if (zeichen == ',') {
                System.out.println("ZusmmenFassung: " + zusammenFassung);
                zusammenFassung = "";
            }


        }
 

pl4gu33

Top Contributor
Wahrscheinlich wird er immer direkt einfach in die das IF gehen. Mach doch mal ein System.out.println(..) rein, dann siehst du, dass der dort wahrscheinlich immer rein geht und damit schaut er sich das else if gar nicht mehr an. Da das "letzte" Zeichen kein ',' is
 
Zuletzt bearbeitet:

jaykop

Mitglied
Ja. Wie es aussieht geht der beim letzten Zeichen in das if(..) rein und schaut sich die anderen else if(..) garnicht an. Wie es aussieht gibt es keine andere Lösung als den letzten Zeichen des Strings Spezial zu behandeln mit einer seperaten if abfrage.

gruß
jaykop
 

pl4gu33

Top Contributor
du kannst die Bedingungen auch einfach tauschen ;)

Java:
if (i==StringLaenge) {
               
 

            } else if (zeichen != ',') { 
              
                
 
            } else if (zeichen == ',') {
                
            }
 
T

tröööt

Gast
vielleicht wäre es ja auch mal damit getan wenn man "else if" richtig blocken und einrücken würde um die logikfehler aufzuzeigen

Java:
if()
{
	//...
}
else
{
	if()
	{
		//...
	}
	else
	{
		if()
		{
			//...
		}
		else
		{
			if()
			{
				//...
			}
			else
			{
				//...
			}
		}
	}
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Darstellung von else if anweisung im struktogramm? Allgemeine Java-Themen 1
S Else-Anweisung Problem Allgemeine Java-Themen 17
J Mehrfache if-else-Abfrage zusammenfassen Allgemeine Java-Themen 51
ReinerCoder Case statt if else Abfragen?! Allgemeine Java-Themen 8
M Variablen If - Else Wiederholungsfehler Allgemeine Java-Themen 3
L Vererbung If-Else ersetzen durch was? Allgemeine Java-Themen 20
R Wie schaffe ich es, dass java zB 100 zählt ohne ständig "else if" hinschreiben zu müssen? Allgemeine Java-Themen 7
K Eclipse Alternativkonstrukte (Verzweigungen: if, switch,else..) Allgemeine Java-Themen 4
D if - else Baum vereinfachen Allgemeine Java-Themen 4
B Berechnung von Punkten/ If-else Strategie?! Allgemeine Java-Themen 51
M if - else Abfrage beenden Allgemeine Java-Themen 4
M if, else, etc. als Membervariablen? Allgemeine Java-Themen 14
P if(a) else if (b) else if (c) . Frage Allgemeine Java-Themen 2
G die mittlere von 5 Zahlen nur mit if und else finden Allgemeine Java-Themen 48
U Kompilieren einer großen Datei if-else = StackOverflowError Allgemeine Java-Themen 4
W kompliziertes Konstrukt von Schleifen/If/else. Rekursion? Allgemeine Java-Themen 22
G switch case VS. if.else if Allgemeine Java-Themen 2
H if - else if-else bessere Lösung gesucht Allgemeine Java-Themen 4
H If anweisungen zu verschachtelt? else without if Allgemeine Java-Themen 8
D Performancefrage zu "else if" und "||" Allgemeine Java-Themen 10
G if . else ? Allgemeine Java-Themen 36
E Es ist nicht möglich, eine Batch-Anweisung auszuführen. Allgemeine Java-Themen 9
W Switch Anweisung Allgemeine Java-Themen 4
killig HashMap mit if-Anweisung überprüfen Allgemeine Java-Themen 4
MiMa Switch Anweisung Allgemeine Java-Themen 10
S Methoden "Unschöne" Break-Anweisung aus verschachtelter Funktion entfernen Allgemeine Java-Themen 11
E Die if-Anweisung in einer Java Bean bzw. in einem Servlet? Allgemeine Java-Themen 8
J VB --> Java (Set Anweisung) Allgemeine Java-Themen 2
M if-Anweisung in endlosschleifewird nicht aufgerufen Allgemeine Java-Themen 2
S Erste Schritte if-Anweisung in for- oder while-schleife umwandeln Allgemeine Java-Themen 3
S Problem mit if-Anweisung Allgemeine Java-Themen 6
K import- Anweisung fehlerhaft und andere Fehler (eclipse) Allgemeine Java-Themen 2
R if-Anweisung wird angemeckert, andere identische nicht Allgemeine Java-Themen 9
@ [Eclipse] Fehlermeldung bei import-Anweisung Allgemeine Java-Themen 3
M try-catch (Wie erzwing ich die catch-Anweisung)? Allgemeine Java-Themen 13
M Problem mit if-Anweisung Allgemeine Java-Themen 10
S mehrfach if-anweisung Allgemeine Java-Themen 8
B Zwei Bedingungen für eine Anweisung Allgemeine Java-Themen 4
berserkerdq2 Jemand einen Tipp wie man ein Javafx-Hintergrund "dynamisch" macht Allgemeine Java-Themen 3
N Division macht Probleme Allgemeine Java-Themen 14
berserkerdq2 IJVM, ich tue auf meinen Stack 100 und 120 rein, danach subtrahiere ich, macht die Maschine 100-120 oder 120-100? Allgemeine Java-Themen 8
OnDemand Anzeigen was eine Applikation macht Allgemeine Java-Themen 1
H Swing HashMap zu Tabelle macht mir Probleme Allgemeine Java-Themen 4
M 4 Gewinnt KI macht nicht, was sie soll.. Allgemeine Java-Themen 1
P Eclipse Projekt anlegen macht Problem Allgemeine Java-Themen 1
WetWer Was bedeutet/macht ein Exit-Code Allgemeine Java-Themen 1
O OOP Wie macht man das am besten OO? Allgemeine Java-Themen 8
Thallius Macht das Sinn? Allgemeine Java-Themen 30
F Java Native/Shared Library (.so) laden macht Probleme Allgemeine Java-Themen 3
X Was macht folgender Code!? Allgemeine Java-Themen 6
J Doppelte Buchstaben löschen - letztes Wort macht er nicht Allgemeine Java-Themen 2
M Google App Engine macht Probleme Allgemeine Java-Themen 4
GilbertGrape Warum macht man "if(true)" Allgemeine Java-Themen 18
C Klassen Was macht diese Java-Mathe-Klasse? Allgemeine Java-Themen 2
S Erste Schritte Exception beendet Schleife nicht - Methode macht trotz throw weiter? Allgemeine Java-Themen 9
S Javadoc 3d einbinden macht probleme Allgemeine Java-Themen 10
B Unix-Timestamp > Date macht Probleme. Allgemeine Java-Themen 3
T Ausdruck mit pdfBox macht Probleme Allgemeine Java-Themen 2
B jar File macht probleme wegen einer Methode! Allgemeine Java-Themen 5
alderwaran jaxb xsd schema, min/maxoccurs macht was? Allgemeine Java-Themen 7
S AWT StringBuffer macht nicht, was ich erwarte Allgemeine Java-Themen 2
E Timer class macht einfach garnichts :/ Allgemeine Java-Themen 6
N Vokabelprogramm - Wer macht mit? Allgemeine Java-Themen 58
S Anschauen was der Compiler macht..? Allgemeine Java-Themen 5
bj99 ImageIO.write() macht Probleme Allgemeine Java-Themen 7
I Was macht static { ... } ? Allgemeine Java-Themen 8
N Für welche Art von Berechnungen macht JCUDA Sinn? Allgemeine Java-Themen 12
P JMF macht mich verrückt Allgemeine Java-Themen 3
R PDF Formular mit JPod ausfüllen macht Probleme Allgemeine Java-Themen 4
G Wie kriegt Klasse2 die Info, was Klassse1 gerade "macht Allgemeine Java-Themen 7
Escorter was macht createHorizontalGlue() Allgemeine Java-Themen 2
T Serialisierung: Wie macht RMI das so schnell? Allgemeine Java-Themen 14
J Was macht dieser Code? Allgemeine Java-Themen 13
S Was macht der Java-Verifier? Allgemeine Java-Themen 4
T Problem, warum macht der das so(finde kein titel.) Allgemeine Java-Themen 3
I Irre Website-Wie macht man sowas? Allgemeine Java-Themen 6
U if Abfrage macht etwas falsch Allgemeine Java-Themen 2
G javadoc macht probleme Allgemeine Java-Themen 2
A equals() macht nicht, was es soll Allgemeine Java-Themen 4
B Vergleichen von arrays macht Probleme Allgemeine Java-Themen 2
M JBoss macht Probleme Allgemeine Java-Themen 6
P Wie macht Sun Gewinn mit Java? Allgemeine Java-Themen 3
Maximum '.' in String ersetzen macht Schwierigkeiten Allgemeine Java-Themen 2
T Klassen samt Methoden aus Jar-Archiv laden macht Problem Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben