I have to have it print "correct date" when I write a date within the ranges considering months of 28, 30 and 31 days. When I insert by console for example 31/4/1982 (a date that is incorrect because April has 30 days) I print "Wrong date" twice instead of one. Where is the fault?
package Boleto1;
import java.util.*;
public class Ej_16 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner (System.in);
System.out.println("Introduce un dia");
int dia=input.nextInt();
System.out.println("Introduce un mes");
int mes=input.nextInt();
System.out.println("Introduce un anio");
int anio=input.nextInt();
if (anio==0){
System.out.println("Fecha incorrecta");
} else {
if(mes==2 && (dia>0 && dia<=28)){
System.out.println("Fecha correcta");
} else {
System.out.println("Fecha incorrecta");
}
if(mes==4 || mes==6 || mes==9 || mes==11){
if (dia>0 && dia<=30){
System.out.println("Fecha correcta");
} else {
System.out.println("Fecha incorrecta");
}
}
if (mes==1 || mes==3 || mes==5 || mes==7 || mes==8 || mes==10 || mes==12){
if (dia>0 && dia<=31){
System.out.println("Fecha correcta");
} else {
System.out.println("Fecha incorrecta");
}
}
}
}
}