IF-Anweisung hat einen Fehler

Blitzfreak

Mitglied
Hallo,
ich bin neu mit Java und finde meinen Fehler nicht und hoffe das ihr mir helfen könnt.
Schonmal danke im voraus.

Bei der IF-Anweisung wird der Inhalt von 2 String mit jeweils einer Bedingung verglichen (Tag und Monat) und wenn die Bedingungen stimmen dann soll ein Text ausgegeben werden.
Aber egal was für Werte die 2 Strings haben es wird immer
Code:
else
ausgegeben.

Beispiel: Tagesanzeige = 1 und Monatsanzeige = 1 dann müsste Ja der Text Steinbock ausgegeben werden aber es wird trotzdem Error ausgegeben.

Hier mein Code:

Java:
if ("1".equals(Tagesanzeige)&&("1".equals(Monatsanzeige))) SternBeschreibung.setText("Steinbock");

else if ("1".equals(Tagesanzeige)&&("Januar".equals(Monatsanzeige))) SternBeschreibung.setText("Steinbock");

else if ("19".equals(Tagesanzeige)&&("2".equals(Monatsanzeige))) SternBeschreibung.setText("Wassermann");

else if ("19".equals(Tagesanzeige)&&("Februar".equals(Monatsanzeige))) SternBeschreibung.setText("Wassermann");

else SternBeschreibung.setText("Error");
 
ach, Gegenbeweise sind doch was schönes:
Java:
public class Test
{
    public static void main(String[] args)
    {
        String Tagesanzeige = "1";
        String Monatsanzeige = "1";
        JTextField SternBeschreibung = new JTextField("was das wohl wird");
        if ("1".equals(Tagesanzeige)&&("1".equals(Monatsanzeige))) SternBeschreibung.setText("Steinbock");
        
        else if ("1".equals(Tagesanzeige)&&("Januar".equals(Monatsanzeige))) SternBeschreibung.setText("Steinbock");
         
        else if ("19".equals(Tagesanzeige)&&("2".equals(Monatsanzeige))) SternBeschreibung.setText("Wassermann");
         
        else if ("19".equals(Tagesanzeige)&&("Februar".equals(Monatsanzeige))) SternBeschreibung.setText("Wassermann");
         
        else SternBeschreibung.setText("Error");
        
        System.out.println(SternBeschreibung.getText());
    }
}
Ausgabe darfst du raten oder ausprobieren
 
Hi SlaterB,
Danke für die schnelle Antwort.
Das von dir gezeigete Beispiel Funktioniert aber warum klappt dass selbe nicht auch bei mir ?
Es tut mir leid ^^ für mein Nichtwissen aber wo könnt bei mir der Fehler liegen,
wenn es doch im Beispiel klappt ?
 
der Grund ist dass dein Programm aus tausend anderen Dingen drumherum besteht,
du hast vielleicht eine GUI, siehst ein ganz anderes Textfeld als du gerade änderst,
du kannst gleichnamige lokale Variablen wie Klassenattribute haben und weißt gar nicht genau was du da vergleichst,
usw., nur mit kompletten Code kann ein Programm komplett analysiert werden

immer gut:
erweitere deinen Code in jedem Problem-Fall um System.out.println(), die sind relativ unbestechlich,
gib vor dem if die zu vergleichenden Werte aus,
sowie danach genau meine Zeile 18
 
Der kompletten Code liegt Jenseits von Gut und Böse zumindest für mich!!! (1094 Z.) ^^

Deshalb wollt ich nicht alles Kopieren.

Trotzdem nochmals vielen Dank für die Hilfe. Der Fehler ist behoben es war so das ich ein TextFeld mit einem String verglichen hab und nicht String mit String und deshalb ging es nicht.
 
Naja, man versucht in dem Falle natürlich die relevanten stücke rauszufiltern oder ein KSKB zu schreiben.
Btw: Variablen werden klein geschrieben. Genauer gesagt: lowerCamelCase
 

Neue Themen


Zurück
Oben