Hallo Leute Ich habe vor kurzem mit Java angefangen und ich wollte ein kurzes Skript erstellen, das mir sagt, ob ein Jahr ein Schaltjahr ist oder nicht. Aber jetzt gibt mein Code immer 'wahr' für den booleschen Wert zurück. Was habe ich falsch gemacht?Java: Boolean immer wieder wahr
public class Schaltjahr {
public static void main(String[] args) {
int year;
boolean leapyear;
int a,b,c;
year = Integer.parseInt(JOptionPane.showInputDialog("Insert a year: "));
a = (year % 4);
b = (year % 100);
c = (year % 400);
if (c == 0) {
leapyear = true;
} else {
if (b == 0) {
leapyear = false;
} else {
if (a== 0) leapyear = true;
}
}
if (leapyear = true) {
JOptionPane.showMessageDialog(null, "The year " + year + " is a leapyear.");
} else {
JOptionPane.showMessageDialog(null, "The year " + year + " is not a leapyear.");
}
}
}
Vielen Dank für Ihre Antworten.
Willkommen bei Stack Overflow. Könnten Sie sich etwas Mühe geben, Ihren Code einzukerben? Es ist im Moment wirklich schwer zu lesen. Als nächstes, anstatt ein Optionsfenster einzubringen, was bedeutet, dass wir nicht wissen, welches Jahr Sie tatsächlich verwenden, warum nicht einfach hart programmieren? Dann können wir Ihr genaues Problem einfach reproduzieren. –
'if (leapyear = true)' sollte 'if (leapyear == true)' oder 'if (leapyear)' sein. – resueman
Mögliches Duplikat von [False boolean = True?] (Http://stackoverflow.com/questions/7883502/false-boolean-true). – rgettman