Mal ne Frage
-
Also ich hab folgendes Problem:
Ich habe den String TMonat;
Mit monat= Datum.get(Datum.MONTH)+1; will ich den aktuellen Monat auslesen, was auch als Wert richtig ausgegeben wird.
nun hab ich folgendes vor: Wenn monat , z.B. 9 ist, dannn soll Sep ausgegeben werden.
Dafür wollt ich die switch-Funktion verwenden:
*
switch (monat)
{
case 1: TMonat="Jan"; break;
case 2: TMonat="Feb"; break;
case 3: TMonat="Mrz"; break;
case 4: TMonat="Apr"; break;
case 5: TMonat="Mai"; break;
case 6: TMonat="Jun"; break;
case 7: TMonat="Jul"; break;
case 8: TMonat="Aug"; break;
case 9: TMonat="Sep"; break;
case 10: TMonat="Okt"; break;
case 11: TMonat="Nov"; break;
case 12: TMonat="Dez"; break;
}
*
Den Wert Tmonat will ich nun ausgeben mit
System.out.println(TMonat);Nun bringt mir der JBuilder die Fehlermeldung variable TMonat might not have been initialized at line .... Ich weiß nun nicht wo der Fehler ist. Bitte helft mir weiter, ich verstehe nicht wieso es nicht geht.
mfg blub
-
Du greifst auf deine String-Variable TMonat (Anm.: seltsame Schreibweise) zu, ohne sie initialisiert zu haben. Die Fehlermeldung taucht auf, weil ja durch die switch-Anweisung nicht gewährleistet ist, dass die String-Variable auf jeden Fall einen Wert bekommt. Daher initialisiere sie am Anfang, wenn du sie deklarierst.
String TMonat = null;
oder
String TMonat = "";
Eine default-Klausel in deiner switch-Anweisung könnte auch helfen.
-
TMonat ist aus Mangel an Kreativität enstanden oder meinst meine Idee mit der switch-Anweisung?
Erstmal danke für deine Hilfe es funktioniert itze ohne Probleme.
Mir kam gestern noch die Idee es mit einem Array zu machen, aber da bin ich dann daran gescheitert das ich es nicht schaffe, den Wert den ich vom Datum zurückbekomme einem Feld zu zuweisen.
String[] Monate={"Jan","Feb","Mrz","Apr","Mai","Juni","Juli","Aug","Sep","Okt","Nov","Dez"};
Das ist das Array dafür. Weißt du/ihr wie ich nun, wenn z.B. bei TMonat 9 rauskommt ich den Wert des Feldes 9 ausgeben kann?
mfg blub
-
Das geht eigentlich ganz einfach ...
TMonat = 9; System.out.println("Der "+TMonat+". Monat heisst "+Monate[TMonat-1]);