Java :: Aufgabe #2 :: Lösung #17

21 Lösungen Lösungen öffentlich
#2

Jahr auf Schaltjahr überprüfen

Anfänger - Java von Gustl - 06.08.2012 um 23:26 Uhr
Schreiben Sie eine Methode, welche überprüft ob das übergebene Jahr (int) ein schaltjahr ist oder nicht.
Rückgabewert ist ein boolean-Wert (true oder false)

Testen Sie die Methode!

Methodenrumpf:
Quellcode ausblenden Java-Code
public static boolean isSchaltjahr(int year) {

}
#17
vote_ok
von nOrdan (1160 Punkte) - 29.05.2019 um 18:35 Uhr
Anmerkung: Ich arbeite mit dem Programm BlueJ

Quellcode ausblenden Java-Code


import javax.swing.JOptionPane;

/**
 * Prüfen ob ein Jahr ein Schaltjahr ist.
 * 
 * @author (nOrdan) 
 * @version (29.05.2019 18:12)
 */

public class Schaltjahr
{
    /**
     * Konstruktor für Objekte der Klasse Schaltjahr
     */
    public Schaltjahr()
    {

    }

    public void schaltjahrPruefen()
    {
        boolean valid = false; //Hilfsvariable für die While-Schleife
        while (valid == false) //While-Schleife ,so dass der User nach falscher Eingabe erneut aufgefordert wird ein Jahr einzugeben
        {
            String input = JOptionPane.showInputDialog("Geben sie ihr Jahr ein, welches sie prüfen wollen"); //Eingabe des Users
            try //Hiermit sollen keine Zahleneingaben abgefangen werden siehe beim ersten else 
            {
                if (input == null) 
                {
                    System.exit(0); //Drückt der User auf abbrechen wird null zurück gegeben und das Programm wird beendet
                }
                else if (input.length() == 0)
                {
                    continue; //Gibt der User nichts ein und drückt auf Ok wird die While-Schleife weiter fortgeführt bis der User etwas eingibt und auf Ok drückt
                }
                else
                {
                    int jahr = Integer.parseInt(input); //Umwandlung des Inputs in einen int   
                    valid = true; //Beenden der While-Schleife indem man die Hilfsvariable auf true setzt
                    if (istSchaltjahr(jahr) == true) //Ergebnisrückgabe ob das eingegebene Jahr ein Schaltjahr ist oder nicht
                    {
                        JOptionPane.showMessageDialog(null,"Das Jahr " + jahr + " ist ein Schaltjahr");                
                    }
                    else
                    {
                        JOptionPane.showMessageDialog(null,"Das Jahr " + jahr + " ist kein Schaltjahr");
                    }
                }
            }
            catch (Exception e) //Greift wenn keine Zahl vom User eingegeben wurde, danach erneute Abfrage des Users wegen der While-Schleife
            {
                JOptionPane.showMessageDialog(null,"Invalid Input", "Error", JOptionPane.ERROR_MESSAGE); 
            }   
        }
    }

    private boolean istSchaltjahr(int jahr)
    {
        if ((jahr % 4 == 0) && ((jahr % 100 != 0) || (jahr % 400 == 0))) //Prüfen ob Schaltjahr nach den Schaltjahrregeln
        {
            return true;
        }
        else
        {
            return false;
        }
    }
}



Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben