.class expected java

Guten Tag,
ich lerne das Programmiern neu und bei meinem Program kommt bei complieren folgenden Fehlermeldung: .class expected .Ich habe schon in diversen anderen Foren nachgesehen und auch auf die Groß- & Kleinschreibung geachtet! Komm aber nicht weiter. Das sind meine letzten 2 Fehler (von 31)!!!

Wäre total nett, wenn mir da jemand weiter helfen würde!!

class Zeller {
public static String wochentag (int tag, int monat, int jahr) {

int d = tag;
int m = monat;
int s = jahr;
int j = jahr/100;
int k = jahr%100;
int h = (( d + (((m + 1)*26)/10) + k + (k/4) + (j/4) + 5 - j) % 7 );

String wochentag="";

if (h==0){
wochentag = „Samstag“;

}

if (h==1){
wochentag = „Sonntag“;
}

if(h==2){

wochentag = „Montag“;
}

if(h==3) {

wochentag = „Dienstag“;
}

if(h==4) {
wochentag = „Mittwoch“;
}

if (h==5){
wochentag = „Donnerstag“;

}

if (h==6){
wochentag = „Freitag“;

}

return wochentag ;

}

public static void main (String [] args) {

if (args.length!=3)

System.out.println („Bitte Datum beim Aufruf angeben: tag monat jahr“);

if (args.length==3)

int d = Integer.parseInt(args[0]);
int m = Integer.parseInt(args[1]);
int s = Integer.parseInt(args[2]);

String w = wochentag(d, m, s);

System.out.println („Der“+args[0]+"."+args[1]+"."+args[2]+„ist ein“+w+".");

}
}

Die Fehler beziehen sich auf int d = Integer.parseInt(args[0]);

Ich weis wirklich nicht mehr weiter!!
Danke im Vorraus!1

Hallo,

if (args.length==3)

int d = Integer.parseInt(args[0]);
int m = Integer.parseInt(args[1]);

Zeller.java:60: ‚.class‘ expected
int d = Integer.parseInt(args[0]);
^

da du keine geschweiften Klammern benutzt hast, um einen Block abzugrenzen, bezieht sich das „if (args.length==3)“ nur auf die nächste Anweisung, hier die Zeile „int d = …;“. So eine spezielle Anweisung, die eine lokale Variable vereinbart und mit einem ersten Wert initialisiert, darf aber nur innerhalb eines Blocks stehen (denn der Gültigkeitsbereich der Variable muss klar sein). [Und ja, die Fehlermeldung, die der Compiler dir hier gibt, ist überhaupt nicht hilfreich, sondern irreführend.]

Hier solltest du also folgendes schreiben:

if (args.length==3) { 
 int d = Integer.parseInt(args[0]);
 int m = Integer.parseInt(args[1]);
 int s = Integer.parseInt(args[2]);

 String w = wochentag(d, m, s);

 System.out.println ("...");
}

Gewöhn dir einfach an, nach „if/then/else“ immer eine öffnende geschweifte Klammer/einen Block zu verwenden (so wie du es in der Methode wochentag getan hast); das erspart dir mögliche Fehlinterpretationen. Also hier auch:

if (args.length!=3) {
 System.out.println ("Bitte Datum beim Aufruf angeben: tag monat jahr");
} else {
 int d = Integer.parseInt(args[0]);
 int m = Integer.parseInt(args[1]);
 // ...
}

Viele Grüße

Andreas

Daaaaaaaaaaaaaanke
Es funktioniert!!! Daaaaaaaaaaaanke Daaaaaaanke

Gruß

Yakamoz