问题描述
给定一个年份,判断这一年是不是闰年。
当以下情况之一满足时,这一年是闰年:
年份是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(); //打印异常信息在程序中出错的位置及原因
}
}
}