問題描述
可能重復:
計算閏年的Java代碼,這段代碼正確嗎?
這是作業(yè),我已經(jīng)收到了成績,但我沒有在我的代碼中實現(xiàn)閏年.這是一個簡單的程序,可以根據(jù)用戶輸入顯示一個月內(nèi)的數(shù)字.唯一的事情是我想不出一種方法來實現(xiàn)閏年,2 月將獲得 29 天而不是 28 天,而無需編寫多個 if
語句.當然有更簡單的方法嗎?代碼如下:
This was homework, and I have already received my grade, but I did not implement leap years in my code. This is a simple program that displays the numbers in a month based on user input. The only thing is I can't figure out is a way to implement a leap year that would get 29 days for February rather than 28, without writing multiple if
statements. Surely there is an easier way? Here is the code:
//Displays number of days in a month
package chapter_3;
import java.util.Scanner;
public class Chapter_3 {
public static void main(String[] args) {
System.out.println("This program will calculate
"
+ "the number of days in a month based upon
"
+ "your input, when prompted please enter
"
+ "the numerical value of the month you would like
"
+ "to view including the year. Example: if you would like
"
+ "to view March enter 3 2011 and so on.");
Scanner input = new Scanner(System.in);
//Prompt user for month and year
System.out.print("Please enter the month and year: ");
int month = input.nextInt();
int year = input.nextInt();
if (month == 1) {
System.out.println("January " + year + " has 31 days");
}
else if (month == 2) {
System.out.println("February " + year + " has 28 days");
}
else if (month == 3) {
System.out.println("March " + year + " has 31 days");
}
else if (month == 4) {
System.out.println("April " + year + " has 30 days");
}
else if (month == 5) {
System.out.println("May " + year + " has 31 days");
}
else if (month == 6) {
System.out.println("June " + year + " has 30 days");
}
else if (month == 7) {
System.out.println("July " + year + " has 31 days");
}
else if (month == 8) {
System.out.println("August " + year + " has 31 days");
}
else if (month == 9) {
System.out.println("September " + year + " has 30 days");
}
else if (month == 10) {
System.out.println("October " + year + " has 30 days");
}
else if (month == 11) {
System.out.println("November " + year + " has 30 days");
}
else if (month == 12) {
System.out.println("December " + year + " has 31 days");
}
else {
System.out.println("Please enter the numerical value "
+ "of the month you would like to view");
}
}
}
推薦答案
如果你使用 GregorianCalendar
,你可以這樣做
If you use the GregorianCalendar
, you could do as below
確定給定年份是否為閏年.如果給定,則返回 true年是閏年.要指定 BC 年編號,必須使用 1 年編號被給予.例如,公元前 4 年指定為 -3.
Determines if the given year is a leap year. Returns true if the given year is a leap year. To specify BC year numbers, 1 - year number must be given. For example, year BC 4 is specified as -3.
GregorianCalendar cal = new GregorianCalendar();
if(cal.isLeapYear(year))
{
System.out.print("Given year is leap year.");
}
else
{
System.out.print("Given year is not leap year.");
}
這篇關(guān)于用Java計算閏年的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!