Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo und zwar habe ich folgendes Problem. Meine Aufgabe ist es Schaltjahre zu bestimmen. Ich lege also ein Jahr fest und mein Programm muss mir bestimmen, ob es ein Schaltjahr ist oder nicht. Regel:
- Ein Schaltjahr liegt dann vor, wenn die Jahreszahl durch 4, 100 und 400 teilbar ist.
- Ein Schaltjahr liegt auch vor, wenn die Jahreszahl durch 4, nicht aber durch 100 teilbar ist.
Ich soll jetzt eine Methode (Funktion) schreiben: istSchaltjahr(jahreszahl:int):boolean-->die als booleschen Wert zurückgibt, ob es nun ein Schaltjahr ist oder nicht.
Ich hab jetzt ein Programm geschrieben, aber verstehe nicht, warum es nicht funktioniert:
Code:
public class Musterklasse {
public static boolean istSchaltjahr(int jahreszahl){
if (jahreszahl%4==0 && jahreszahl%100==0 && jahreszahl%400==0) {
return true;
}
else
{
if (jahreszahl%4==0 && jahreszahl%400==0) {
return true;
}
else
{
return false;
}
}
public static void main (String args []) {
int z=2007;
if (istSchaltjahr(z)=true) {
System.out.println("Das Jahr "+z+" ist ein Schaltjahr!");
}
else {
System.out.println("Das Jahr "+z+" ist kein Schaltjahr!");
}
}
}
Würde mich freuen wenn ihr schnell antworten könntet.
public class Musterklasse {
public static boolean istSchaltjahr(int jahreszahl){
if (jahreszahl%4==0 && jahreszahl%100==0 && jahreszahl%400==0)
{
return true;
}
else
{
if (jahreszahl%4==0 && jahreszahl%400==0)
{
return true;
}
else
{
return false;
}
}
public static void main (String args []) {
int z=2007;
if (istSchaltjahr(z)==true)
{
System.out.println("Das Jahr "+z+" ist ein Schaltjahr!");
}
else
{
System.out.println("Das Jahr "+z+" ist kein Schaltjahr!");
}
}
}
}
@ Joker: inhaltlich war es schon korrekt, der Fall durch 100 teilbar ist im ersten if abgehandelt
edit: doch nicht, nur durch 4 teilbar würde nicht akzeptiert werden
----------
Code:
public class Musterklasse
{
public static boolean istSchaltjahr(int jahreszahl)
{
int j = jahreszahl;
return (j % 4 == 0 && (j % 100 > 0 || j % 400 == 0));
} // die letzte Klammer fehlte bei dir noch
public static void main(String args[])
{
teste(2007);
teste(2008);
teste(2000);
teste(1900);
}
public static void teste(int jahr)
{
if (istSchaltjahr(jahr))
{
System.out.println("Das Jahr " + jahr + " ist ein Schaltjahr!");
}
else
{
System.out.println("Das Jahr " + jahr + " ist kein Schaltjahr!");
}
}
}
Man bin ich doof, echt!!! Das eine Klammer so viel ausmachen kann..............
Ich müsste wohl auch drauf achten, dass ich die Bedingungen richtig les! Vielen Dank!!