闰年算法java,java中闰年怎么算

本文目录
  • 1.java中闰年怎么算
  • 2.JAVA编写判断闰年的方法
  • 3.怎么计算是否是闰年
  • 4.根据输入年份判断是否为闰年
java中闰年怎么算你是问java还是问闰年的问题呢?
你这明明是在问闰年的问题嘛 。你问的闰年的条件为什么是这样 。
由于地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年,公历把一年定为365天 。这样每年就少算了0.24219天,所以余下的时间约为四年累计一天,加在二月里,但是这样还是不够精确,因为多算了1-0.24219*4=0.03124天,
接下来,我们看看,在400年里,如果有100个闰年的话,就多算了3.124天,这样的话,白天黑夜就对不上了,所以,400年我们只给它97个闰年,这样400年也就多算了大概0.124天(因为这只是大概值),这样就精确一些了 。
概括一下,400年的时间,如果按365天一年的话,就少了400*0.24219=96.876天,所以加上97个闰年,97个怎么分呢?这样就有了现在的分法,4年一闰,100年的400年一闰 。
你明白了吗?
我说这么清楚,如果你不明白,那就是XX了,既然你知道闰年的条件,还写不出代码,那就更是XX了 。
闰年算法java,java中闰年怎么算

文章插图
JAVA编写判断闰年的方法
第一处填 public static boolean isLeapYear(int y)
第二处填 year
完整的判断闰年的Java程序如下
public class Main {
 public static boolean isLeapYear(int y){
  return (y%4==0 && y%100!=0) || (y%400==0);
 }
 public static void main(String[] args) {
  for(int year=1990;year<=2010;year++) 
  {
   if(isLeapYear(year)){
    System.out.println(year);
   }
  }
 }
}
运行结果
【闰年算法java,java中闰年怎么算】
闰年算法java,java中闰年怎么算

文章插图

怎么计算是否是闰年/** 判断2009年是闰年还是平年 。
*提示:
*闰年的条件是符合下面二者之一:(1)年份能被4整除,但不能被100整除;(2)能被400整除 。
**/
public class Pdrp{
public static void main(String args[]){
int year=2009;
if((year%4==0&&year%100!=0)||year%400==0)
System.out.println("2009是闰年 。");
else
System.out.println("2009是平年 。");
}
}
闰年算法java,java中闰年怎么算

文章插图
根据输入年份判断是否为闰年
一、问题分析
闰年的判断规则如下: 
1.若某个年份能被4整除但不能被100整除,则是闰年 。 
2.若某个年份能被400整除,则也是闰年 。
二、根据闰年的判断规则,代码设计如下
import java.util.Scanner;
class Bissextile{
public static void main(String[] args){
System.out.printtln("请输入年份");
int year;//接收输入的年份
Scanner scanner = new Scanner(System.in);
year = scanner.nextln();
if(year<0||year>3000){
System.out.println("年份有误!");
}
if(year%4==0&&year%100!=0||year%400==0){
System.out.println(year+"是闰年");
}else{
System.out.println(year+"不是闰年");
}
}
}

闰年算法java,java中闰年怎么算

文章插图

扩展资料:
另外,闰年的判断还可以按照如下代码设计:
import java.util.Scanner;
class LunTan1
{
public static void main(String[] args)
{
System.out.println("请输入一个年份");
Scanner scan=new Scanner(System.in);
int year=scan.nextInt();
scan.close();
ifleapyear(year);
}
private static void ifleapyear(int year){
if (year>0)
{
if (year%100==0)
{
if (year%400==0)
{
System.out.println("您输入的"+year+"年是闰年");
}
else
{
System.out.println("您输入的"+year+"年是平年");
}
}
else if (year%4==0)
{
System.out.println("您输入的"+year+"年是闰年");
}
else
{
System.out.println("您输入的"+year+"年是平年");
}
}
else