我的代碼似乎是部分工作的:我的意思是說,當我沒有進入閏年,例如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替換爲啓動器。 –