Schaltjahr

Cano

Mitglied
Hei, ich weiß das ist diesen Thread schon gab aber geholfen hat der mir nicht 😀

Java:
import javax.swing.JOptionPane;

public class Schaltjahr {
    public static void main(String[] args) {
        int jahr;
        String eingabe;
        boolean IstJahr = false;
        eingabe = JOptionPane.showInputDialog("Geben Sie ein Jahr ein : ");
        jahr = Integer.parseInt(eingabe);
      
        if(jahr % 100 == 0) {
            IstJahr=false;
        } else if(jahr % 400 == 0) {
            IstJahr=true;
        } else if(jahr % 4 == 0) {
            IstJahr=true;
        }
      
        if(IstJahr == true) {
            JOptionPane.showMessageDialog(null, jahr + " ist ein Schaltjahr");
        } else {
            JOptionPane.showMessageDialog(null, jahr + " ist kein Schaltjahr");
        }
    }
}

Ich weiß dass man das alles in einer einzigen Zeile lösen könnte, hab ich auch gemacht, brachte mir aber das selbe Ergebniss.

Es geht darum dass, egal welches Jahr ich eingebe, die Meldung kommt dass es kein Schaltjahr ist obwohl es ein Schaltjahr sein müsste, wieso?
Danke im vorraus 🙂
 
Zuletzt bearbeitet von einem Moderator:
Hei, ich weiß das ist diesen Thread schon gab aber geholfen hat der mir nicht

Und warum nicht?

Es geht darum dass, egal welches Jahr ich eingebe, die Meldung kommt dass es kein Schaltjahr ist obwohl es ein Schaltjahr sein müsste, wieso?

Mit welchen Zahlen hast du es denn alles probiert?
Hast du schon mal mit dem Debugger probiert zu schauen was passiert? Konsolenausgaben eingefügt und zu kontrollieren was passiert?
 
Weil dass was dort stand schon im code ist also das mit schaltjahr berechnen.

Ich habe mehrer Schaltjahre 2000,2004 usw. Und nicht Schaltjahre 2001 2002 probiert
Ich bin benutze notepad++ und die cmd fuer den anfang also so wird es im Buch gemacht.
 
Nimm dir das Jahr 2000 herzunehmen und überlege dir warum dir dein Programm sagt das es kein Schaltjahr ist. (Tipp: if/elseif)
2004 müsste funktionieren und als Schaltjahr erkannt werden. Schon Konsolenausgaben eingefügt um zu sehen was passiert im Program? (welches if wird betreten, gibt der ausdruck false oder true zurück)
 

Zurück
Oben