Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
folgendes Problem sollte ich lösen: ein Programm schreiben, was mir für ein beliebiges Datum, welches vom Benutzer eingegeben wird, den Wochentag dazu ausgibt - und das mithilfe von Methoden. Ich denke, die einzelnen Methoden, die durchlaufen werden müssen, habe ich verstanden, sodass ich sie im einzelnen aufbauen kann; mit der Verknüpfung habe ich ein Problem. Das Programm wollte ich so gliedern: der Benutzer wird aufgefordert ein Datum anzugeben, also hab ich 3 Int-Variablen (day, month, year); anschliessend definiere ich verschiedene Methoden, auf die ich nach Ausführung zurückgreifen kann. Um es auszuprobieren habe ich ganz einfach was aufgebaut bzgl. Prüfung Schaltjahr, was mir aber im Compiler dauernd Fehlermeldungen erzeugt und habe keine passenden Lösungsvorschläge gefunden. Kann mir da jemand helfen, wo da Verknüpfungsfehler (oder ganz andere?) liegen? Wäre sehr froh!
Java:
public class Main {
public static void input(String[] args){
Out.println("Input date: ");
int day = In.readInt();
int month = In.readInt();
int year = In.readInt();
Out.println("date is: " + day + " " + month + " " + year);
}
public static boolean isLeYe(int year) {
if ((year - 2016)%4==0){
return true;
}
}
public static void main(String[] args){
if (isLeYe(year)){
Out.println(year + " is leap year.");
}
}
}
Warum nicht einfach return year % 4 == 0; (mal abgesehen davon, dass es ohnehin falsch ist, weil nicht jedes Jahr, das durch vier teilbar ist, ein Schaltjahr ist)?
Vielen Dank für die Antwort; beiliegend noch der Fehlercode jetzt; offensichtlich habe ich doch bei der Einbettung der Methode Mist gemacht? Ich weiss aber nicht was.
zur Berechnung: war ja nur ein Versuch ob es überhaupt funktioniert; aber wenn die Differenz von Schaltjahr zu eingegebenem Jahr nicht durch vier ganzzahlen teilbar ist, dann ist doch das eingeben Jahr kein Schaltjahr (oder mach ich einen Überlegungsfehler?).
Code:
symbol: variable year location: class Main ./Root/Main.java:18: error: cannot find symbol Out.println(year + " is leap year."); ^ symbol: variable year location: class Main 2 errors
Das stimmt zwar, aber wenn das Jahr durch vier teilbar ist, ist es möglicherweise auch kein Schaltjahr, nämlich dann wenn es durch 100 aber nicht durch 400 teilbar ist. Also 1900 und 2100 sind beispielsweise keine Schaltjahre.
Die Fehlermeldung kommt daher, dass du in der main-Methode eine Variable year verwendest, obwohl so eine Variable dort gar nicht existiert.