Una mano?
Codice: Seleziona tutto
bash-4.1# javac verificaData.java
verificaData.java:75: operator && cannot be applied to int,int
return testAnno && testMese && testGiorno;
^
1 error
Codice: Seleziona tutto
public class verificaData
{
public static int verificaData(int mese, int giorno, int anno)
{
// dichiaro le variabili
int testAnno;
int testMese;
int testGiorno;
// inizializzo le variabili
testAnno = 0;
testMese = 0;
testGiorno = 0;
// controllo che l'anno sia valido
if(anno >= 0 && anno< 10000)
{
testAnno = 1;
}
else
{
return 0;
}
// controllo che il mese sia valido
if(mese > 0 && mese <= 12)
{
testMese = 1;
}
else
{
return 0;
}
// controllo che il giorno sia valido
if(giorno > 0 && giorno <= 31)
{
if(giorno ==29 && mese ==2)
{
if((anno % 4 == 0 && anno % 100 != 0) || anno % 400 == 0)
{
testGiorno = 1;
}
}
else if(giorno == 30)
{
if(mese == 2 )
{
testGiorno = 0;
}
else
{
testGiorno = 1;
}
}
}
else if(giorno ==31)
{
if((mese == 1) || ( mese == 3) || (mese == 5) || (mese == 7) || (mese == 8) || (mese == 10) || (mese == 12))
{
testGiorno = 1;
}
else
{
testGiorno = 0;
}
}
else
{
testGiorno = 1;
}
return testAnno && testMese && testGiorno;
}
public static void main(String[] va)
{
// dichiaro la variabile e la inizializzo
int risultatoVerificaData = 0;
risultatoVerificaData = verificaData( 1 ,10 ,2000 );
risultatoVerificaData = verificaData( 6 ,31 ,2001 );
risultatoVerificaData = verificaData( 2 ,29 ,1900 );
risultatoVerificaData = verificaData( 2 ,29 ,1600 );
risultatoVerificaData = verificaData( 2 ,29 ,2008 );
risultatoVerificaData = verificaData( 10 ,36 ,1990 );
risultatoVerificaData = verificaData( 13 ,10 ,2011 );
risultatoVerificaData = verificaData( 2 ,30 ,2001 );
risultatoVerificaData = verificaData( 12 ,31 ,2012 );
System.out.println("La data inserita è\n");
if( risultatoVerificaData == 0)
{
System.out.println("F\n");
}
else
{
System.out.println("V\n");
}
}
}