Ho un problema con un programmino che sto facendo per stabilire se un anno è bisestile, ovvero se è divisibile per 4, ad eccezione degli anni divisibili per 100 (tranne i numeri divisibili per 400); tali eccezioni non valgono nel caso in cui l'anno sia inferiore o uguale a 1582 (anno di introduzione del calendario gregoriano). Il codice è il seguente:
Questo è l'errore che visualizzo quando cerco di compilare è
Grazie in anticipo a tutti quelli che mi risponderanno
Codice:
import java.util.Scanner;
public class LeapYearTester2
{
public static void main(String[] args)
{
System.out.println("Inserire un anno. \n");
Scanner in = new Scanner(System.in);
int anno = in.nextInt();
in.close();
if (anno <= 0)
System.out.println("\nL'anno deve essere un numero positivo e maggiore di 0.");
else
if (anno % 4 == 0)
{
if (anno.isEccez() == false)
System.out.println("\nL'anno " + anno + " è bisestile.");
else
System.out.println("\nL'anno " + anno + " non è bisestile.");
}
else
System.out.println("\nL'anno " + anno + " non è bisestile.");
}
public boolean isEccez(int anno)
{
if (anno > 1582)
{
if (anno % 100 == 0)
{
if (anno % 400 == 0)
return false;
else
return true;
}
else
return false;
}
else
return false;
}
}
Questo è l'errore che visualizzo quando cerco di compilare è
Codice:
LeapYearTester2.java:17: error: int cannot be dereferenced
if (anno.isEccez() == false)
Grazie in anticipo a tutti quelli che mi risponderanno