我的代码似乎是部分工作的:我的意思是说,当我没有进入闰年,例如99年底,然后我选择2月2日它打印29天,我想打印28我有2个独立的方法,一个用来检查一年是否跳跃,另一个用来打印月份的日期,所以如果有人知道如何修复程序以提高效率并且不用闰年来显示28天,我会感激。谢谢。方法的难度
这里是我的代码:
import java.util.Scanner;
public class LeapYearCheck
{
public static void main(String[] args)
{
LeapYearCheck.isLeapYear();
LeapYearCheck.daysInMonth();
}
static void isLeapYear()
{
Scanner input = new Scanner(System.in);
System.out.println("Enter a year: ");
int year = input.nextInt();
if(year % 4 == 0 || year % 400 ==0)
{
System.out.println(year + " is leap year:");
}
else
{
System.out.println(year + " is not leap year:");
}
}
static void daysInMonth()
{
Scanner input = new Scanner(System.in);
System.out.println("Enter a month :");
int month = input.nextInt();
if (month == 2)
{
System.out.println("There are 29 days in February: ");
}
else if(month == 1)
{
System.out.println("The are 31 days in January ");
}
else if(month == 2)
{
System.out.println("The are 28 days in February ");
}
else if(month == 3)
{
System.out.println("The are 31 days in March ");
}
else if(month == 4)
{
System.out.println("The are 30 days in April");
}
else if(month == 5)
{
System.out.println("The are 31 days in May ");
}
else if(month == 6)
{
System.out.println("The are 30 days in June ");
}
else if(month == 7)
{
System.out.println("The are 31 days in July ");
}
else if(month == 8)
{
System.out.println("The are 31 days in August ");
}
else if(month == 9)
{
System.out.println("The are 30 days in September ");
}
else if(month == 10)
{
System.out.println("The are 31 days in October ");
}
else if(month == 11)
{
System.out.println("The are 30 days in November ");
}
else if(month == 12)
{
System.out.println("The are 31 days in December ");
}
else
{
System.out.println("Invalid Month, Please enter a number between 1 & 12 Merci: ");
}
}
}
这是功课吗?你可以使用joda和它的'DateTime'类以更简洁的方式实现这一点。 –
你可以自由使用Java库吗?加上请将if-else与switch-case替换为启动器。 –