[Java] Problem bei Übungsaufgabe

02/22/2013 09:29 Doomadness#1
Moin moin
Ich bin immoment ein Buch zum Thema Java am lesen
und versuche die Aufgaben im Buch zu lösen. Leider bin ich
immoment an einer Aufgabe die ich selbst nicht lösen kann
und hoffe daher auf eure hilfe.

Die Aufgabenstellung
Mein 1. Versuch
Mein 2. Versuch
Mein 3. Versuch
Der Compiler wirft keine fehlermeldung aus mein Problem ist
das diese Programme nicht Funktionieren wie sie sollen und ich einach
nicht mehr weiter weis entweder sagen sie das 2100 (kein Schaltjahr) ein Schaltjahr ist und wenn ich es schaffe das 2100 richtig beantwortet wird dann sagt mir das Programm das 2000 (schaltjahr) kein schaltjahr ist. Ich will keine komplett fertigen programme nur lösungsansätze :(
Ich verstehe das die zahl ohne rest durch 4 teilbarsein muss gleichzeitig aber nicht durch 100 und wenn doch muss sie auch durch 400 teilbar sein aber ich versteh leider nicht wie ich das umsetzten soll... ich hoffe das ihr mir hier weiter helfen könnt ...

achja noch dazu gesagt ich bin natürlich ein blutiger anfänger was java und programmieren allgemein angeht deswegen bitte net schlagen xD
02/22/2013 10:08 iWnnaFckMyDad#2
...ich mach mich mal ran, sollte nicht so schwer sein. Antwort bekommste gleich :)

--- EDIT ---
Ok, done - hab gleich ne API auch gemacht. Also wenn die auch brauchst, einfach melden.

Code:
    private void jButtonCYActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        int year = Integer.parseInt(jTextFieldZahl.getText());

        if ((year % 4 == 0 && year % 100 != 0) || (year % 4 == 0 && year % 100 == 0 && year % 400 == 0)) {
            JOptionPane.showMessageDialog(this, "Das Jahr " + year + " ist ein Schaltjahr");
        } else {
            JOptionPane.showMessageDialog(this, "Das Jahr " + year + " ist kein Schaltjahr");
        }
    }
03/12/2013 16:24 Dan[ger]#3
Die Abfrage, ob es ein Schaltjahr ist, geht auch leichter:
Code:
if(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
;)