Erste Schritte Übungsaufgaben

Fabinio

Mitglied
Hallo,
ich bin neu hier im Forum, da ich Hilfe bei ein paar Übungen bräuchte.


C

Schaltjahre

Der weltweit verbreitete
Gregorianische Kalender
nutzt Schalttage, um die durchschnittliche Länge eines Kalen-
derjahres an die Länge eines Sonnenjahres anzupassen. Denn während ein übliches Kalenderjahr aus 365 Tagen
b esteht, hat das Sonnenjahr eine Länge von 365,24219 Tagen. Ein Jahr, das durch Einschaltung eines zusätzli-
chen Schalttages verlängert wird, bezeichnet man als Schaltjahr.
C.1

Aufgabenstellung
Ein Jahr, das sich ohne Rest durch 400 teilen lässt, ist ein Schaltjahr. Ein Jahr, das sich ohne Rest durch 4
teilen lässt, ist genau dann ein Schaltjahr, wenn das Jahr nicht durch 100 teilbar ist.
Schreib en Sie ein Programm, das nach diesen Regeln alle Schaltjahre zwischen den Jahren 1899 und 2101
ausgibt.

C.2

Programmausgabe
Geb en Sie jedes Schaltjahr in einer separaten Zeile auf der Konsole aus, indem Sie
System.out.println(...)
aufrufen.
Geb en Sie die Schaltjahre in aufsteigender Sortierung aus, d.h. b eginnend mit dem kleinsten Jahr.
 
Zuletzt bearbeitet:

Robinson97

Aktives Mitglied
Du könntest das Programm ganz einfach mit einer for schleife machen. Du setzt den Zähler einfach auf 1899 und lässt ihn bis 2101 durchlaufen und dann mit :

Java:
if(i%4 == 0 && (i%100 != 0 || i%400 == 0))    {
            System.out.println(i);
    }

prüfen und anschließend das Schaltjahr ausgeben lassen.

[tipp]Die for Schleife müsste dann so aussehen
Java:
for(int i = 1899; i < 2101; i++)
[/tipp]
 
Zuletzt bearbeitet:

Fabinio

Mitglied
Vielen Dank schonmal für die schnelle Hilfe! :)
Ich habe es jetzt so geschrieben:

Java:
public class AufgabeA {
    
    public static void main(final String[] args) {
    
    int i = 1899;
    
        for(i = 1899; i < 2101; i++)
        if(i%4 == 0 && (i%100 != 0 || i%400 == 0))    {
           
    }
        
        System.out.println(i);
    }
}
Allerdings gibt er mir nur 2101 aus. Wo liegt mein Fehler?
 
Zuletzt bearbeitet von einem Moderator:

Robinson97

Aktives Mitglied
Deine Ausgabe muss in der If Bedingung erfolgen.

Java:
    for(int i = 1899; i < 2101; i++){
        
        if(i%4 == 0 && (i%100 != 0 || i%400 == 0))    {
            System.out.println(i);
    }
    }
 
Zuletzt bearbeitet:

Neue Themen


Oben