5
« on: October 20, 2007, 10:46:42 PM »
import java.util.Scanner;
public class DateValid
{
public static void main (String [] args )
{
int month, day, year;
int daysInMonth;
boolean monthValid, yearValid, dayValid, leapYear;
Scanner scan = new Scanner(System.in);
//Date from user
System.out.println ("What year is it?");
year = scan.nextInt();
System.out.println ("Month?(number)");
month = scan.nextInt();
System.out.println ("Day?(number)");
day = scan.nextInt();
//Determining if month is valid
if (month <= 12 && month != 0)
{
monthValid = true;
}
else
{
monthValid = false;
}
//Determining if year is valid
if(year > 1000 && year < 1999)
{
yearValid = true;
}
else
{
yearValid = false;
}
//Determining if its a leap year
if (year % 4 == 0)
{
if(year % 100 == 0)
{
if (year % 400 == 0)
{
leapYear = true;
}
else
{
leapYear = false;
}
}
else
{
leapYear = true;
}
}
//Determines days in the month
if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
{
if (day <= 31)
{
dayValid = true;
}
}
else
{
daysInMonth = 0;
}
if(month == 4 || month == 6 || month == 9 || month == 11)
{
if (day <= 30)
{
dayValid = true;
}
}
else
{
daysInMonth = 0;
}
if(leapYear = true)
{
if (month == 2)
{
if (day <= 29)
{
dayValid = true;
}
else
{
daysInMonth = 0;
}
}
}
if (daysInMonth == 0)
{
monthValid = false;
}
else
{
monthValid = true;
}
if (dayValid = true && monthValid == true && yearValid == true)
{
System.out.println("Date is valid");
{
if(leapYear = true)
System.out.println("It's a leap year");
}
}
else
{
System.out.println("Date is not valid");
}
}
}
Well ive just started using java (in a school class) and the purpose of this program is to determine if a date isvalid
When i compile i keep gettin an error saying that "daysInMonth" might not have been initilized, but i dont see anything wrong >.>
Anyone?