問題描述
給定一個年份,判斷這一年是不是閏年。
當以下情況之一滿足時,這一年是閏年:
年份是4的倍數而不是100的倍數;
年份是400的倍數。
其他的年份都不是閏年。
輸入格式
輸入包含一個整數y,表示當前的年份。
輸出格式
輸出一行,如果給定的年份是閏年,則輸出yes,否則輸出no。
說明:當試題指定你輸出一個字符串作爲結果(比如本題的yes或者no,你需要嚴格按照試題中給定的大小寫,寫錯大小寫將不得分。
樣例輸入
2013
樣例輸出
no
樣例輸入
2016
樣例輸出
yes
數據規模與約定
1990 <= y <= 2050。
錦囊1
使用if語句進行判斷。
錦囊2
當條件是4的倍數且不是100的倍數,或者是400的倍數滿足時輸出yes,否則輸出no。
代碼:
public class Main
{
public static void main(String[] args) throws NumberFormatException, IOException
{
BufferedReader bf1=new BufferedReader(new InputStreamReader(System.in));
int num=Integer.parseInt(bf1.readLine());
if((num%4==0&&num%100!=0)||(num%400==0))
System.out.println("yes");
else
System.out.println("no");
}
}
功能完善的閏年判斷兩種方法:
轉載:https://www.idaobin.com/archives/310.html
方法一:
import java.util.Scanner;
public class Bissextile{
public static void main(String[] args){
Scanner input=new Scanner(System.in);//聲明掃描儀變量
System.out.println("請輸入年份");//系統提示輸入年份
try{ //監聽異常
while(true){ //不斷讀取用戶輸入的值
int years=input.nextInt();//取得下一行輸入的年份值
if (years<1000||years>9999)
System.out.println("請輸入大於1000小於9999的年份");
else if(years % 4 == 0 && years % 100 != 0 || years % 400 == 0){ //平閏年判斷算法
System.out.println(years+"年是閏年");
}
else {
System.out.println(years+"年是平年");
}
}
}
catch(Exception e){ //異常處理
System.out.println("請正確輸入");
e.printStackTrace(); //打印異常信息在程序中出錯的位置及原因
}
}
}
方法二:一般函數法
import java.util.Scanner;
public class Bissextile {
boolean bissextile(int year){ //創建boolean類型的方法
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){ //平閏年判斷算法
return true;
}
else{
return false;
}
}
public static void main(String[] args){
Bissextile b=new Bissextile(); //創建對象
Scanner input=new Scanner(System.in);//聲明掃描儀變量
System.out.println("請輸入年份");//系統提示輸入年份
try{
while(true){ //不斷讀取用戶輸入的值
int year1=input.nextInt();//取得下一行輸入的年份值
if (year1<1000||year1>9999){
System.out.println("請輸入大於1000小於9999的年份");
}
else if(b.bissextile(year1)){ //對象調用bissextile方法
System.out.println(year1+"是閏年");
}
else{
System.out.println(year1+"是平年");
}
}
}
catch(Exception e){ //異常處理
System.out.println("請正確輸入");
e.printStackTrace(); //打印異常信息在程序中出錯的位置及原因
}
}
}