闰年计算Java

合集下载

求闰年的编程 分支方法(一)

求闰年的编程 分支方法(一)

闰年是指在格里高利历中,普遍包括二月有29天的一年。

为了判断一个年份是否为闰年,人们发明了各种编程方法。

下面将介绍几种常见的判断闰年的编程分支方法。

方法一:使用if-else语句在许多编程语言中,可以使用if-else语句来判断一个年份是否为闰年。

具体的代码如下:```if (year % 4 == 0) {if (year % 100 == 0) {if (year % 400 == 0) {// 是闰年} else {// 不是闰年}} else {// 是闰年}} else {// 不是闰年}```这段代码首先判断年份能否被4整除,如果可以,则继续判断能否被100整除,如果可以,则继续判断能否被400整除,最终得出结论。

这种方法逻辑清晰,简单易懂,是判断闰年的常用方法。

方法二:使用switch语句除了if-else语句,还可以使用switch语句来判断闰年。

具体的代码如下:```switch (year % 4) {case 0:if (year % 100 == 0) {if (year % 400 == 0) {// 是闰年} else {// 不是闰年}} else {// 是闰年}break;default:// 不是闰年}```这段代码首先通过取余运算获取年份除以4的余数,然后根据不同的余数进行判断,最终得出结果。

这种方法在某些情况下可以使代码更加简洁。

方法三:使用三元运算符除了if-else语句和switch语句,还可以使用三元运算符来判断闰年。

具体的代码如下:```string result = (year % 4 == 0) ?((year % 100 == 0) ?((year % 400 == 0) ? "是闰年" : "不是闰年") : "是闰年") : "不是闰年";```这段代码使用了嵌套的三元运算符来判断年份是否为闰年,虽然代码简洁,但可读性较差,不推荐在实际项目中使用。

java经典程序100例

java经典程序100例

2,给定一个百分制的分数,输出相应的等级。
90 分以上
A级
80~89
B级
70~79
C级
60~69
D级
60 分以下
E级
import java.util.Scanner; class Mark{
public static void main(String[] args){ System.out.println("请输入一个分数"); //定义输入的分数为“mark”,且分数会有小数 double mark; Scanner scanner = new Scanner(System.in); mark = scanner.nextDouble();
12、输入一个数据 n,计算斐波那契数列(Fibonacci)的第 n 个值 1 1 2 3 5 8 13 21 34 规律:一个数等于前两个数之和
//计算斐波那契数列(Fibonacci)的第 n 个值 public class Fibonacci{
public static void main(String args[]){ int n = Integer.parseInt(args[0]); int n1 = 1;//第一个数 int n2 = 1;//第二个数 int sum = 0;//和 if(n<=0){ System.out.println("参数错误!"); return;
3,编写程序求 1+3+5+7+……+99 的和值。
class he{ public static void main(String[] args){ int number = 1; //初始值 1,以后再+2 递增上去 int sum = 0; for ( ; number <100; number+=2 ){ sum += number; } System.out.println("1+3+5+7+……+99= " +sum); }

java经典程序100例

java经典程序100例
} }
11、计算圆周率 PI=4-4/3+4/5-4/7....... 打印出第一个大于 3.1415 小于 3.1416 的值
class Pi { public static void main(String[] args){ double pi =0; //定义初始值 double fenZi = 4; //分子为 4 double fenMu = 1; //第一个 4,可看作分母为 1 的分式,以后的分母每次递增 2 for (int i = 0; i < 1000000000; i++){ //运行老久,减少循环次数会快很多,只是精确
int year; //定义输入的年份名字为“year” Scanner scanner = new Scanner(System.in); year = scanner.nextInt(); if (year<0||year>3000){
System.out.println("年份有误,程序退出!"); System.exit(0); } if ((year%4==0)&&(year%100!=0)||(year%400==0)) System.out.println(year+" is bissextile"); else System.out.println(year+" is not bissextile "); } }
12、输入一个数据 n,计算斐波那契数列(Fibonacci)的第 n 个值 1 1 2 3 5 8 13 21 34 规律:一个数等于前两个数之和
//计算斐波那契数列(Fibonacci)的第 n 个值 public class Fibonacci{

java calendar类闰月处理

java calendar类闰月处理

一、介绍Calendar类Java中的Calendar类是一个抽象基类,用于将日期和时间字段与特定的日期和时间引擎分开。

它为特定的日历系统提供了一组方法,通过这些方法,我们可以操作日期和时间。

二、闰月的概念闰月是指在某些传统的农历或阴阳历中,为了使月份和季节相符而要求插入的一个月。

由于月亮的运行时间是29.5天,近似相等于29天又12小时(29+α/2),所以农历并非等长。

三、Java Calendar类对闰月的支持Java的Calendar类对闰月的处理十分完善。

通过Calendar类我们可以轻松地获取到闰年、闰月的信息,并对其进行操作。

1. 获取闰年信息通过调用Calendar类的isLeapYear(int year)方法,我们可以判断指定的年份是否为闰年。

示例代码:```javaint year = 2024;Calendar calendar = Calendar.getInstance();if (calendar.isLeapYear(year)) {System.out.println(year + "年是闰年");} else {System.out.println(year + "年不是闰年");}```2. 获取闰月信息在一些农历系统中,会存在闰月的情况。

通过调用Calendar类的getActualMaximum(int field)方法,我们可以获取到指定月份的实际天数,从而判断该月是否为闰月。

示例代码:```javaCalendar calendar = Calendar.getInstance();calendar.set(2024, 1, 1); // 设置日期为2024年2月1日int maxDays = calendar.getActualMaximum(Calendar.MONTH); // 获取闰年的实际天数if (maxDays > 29) {System.out.println("2024年存在闰月");} else {System.out.println("2024年不存在闰月");}```3. 处理闰月在一些需要涉及到农历的应用中,可能需要对闰月进行特殊处理。

Jsp页面+Java代码判断是否为闰年

Jsp页面+Java代码判断是否为闰年

Jsp页⾯+Java代码判断是否为闰年由客户端输⼊⼀个数,判断是否为闰年这是JSP页⾯(给客户端提供操作的页⾯)<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@ page import="com.liaoyuanping.action.isLeap" %> --这是引⽤java代码中的isLeap类⽅法<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>⾸页</title></head><body><form action="Test_action.jsp">请输⼊年份:<input type="text" name="txtYear" id="txtYear"><input type="submit" name="btnsub" id="btnsub" value="判断"></form></body></html>在同⼀个项⽬下的src下创建⼀个名为 com 的包,再创建⼀个isLeap类这是Java代码中的isLeap⽅法package com.liaoyuanping.action;public class isLeap {private int year;public int getYear() {return year;}public void setYear(int year) {this.year = year;}public boolean isLeapYear(){return(( year%100!=0 && year%4==0 || year%400==0)?true:false);}}最后选择整个项⽬右键选择Run As --> Run on Server 运⾏,在浏览器页⾯打开。

在java中判断闰年的方法

在java中判断闰年的方法

在java中判断闰年的方法在Java中,判断一个年份是否是闰年是一个常见的问题。

这里介绍几种常用的方法,用于判断一个年份是否为闰年。

方法一:使用if条件语句这是最常见的方法之一,使用if语句进行判断。

```int year = 2020;if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {System.out.println(year + " is a leap year!");} else {System.out.println(year + " is not a leap year.");}```这段代码使用了以下逻辑:- 如果一个年份能够被4整除但不能被100整除,则它是闰年。

- 如果一个年份能够被400整除,则它也是闰年。

方法二:使用三目运算符这也是一个比较简洁的方法,使用三目运算符进行判断。

```int year = 2020;String leapYear = ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) ? " is a leap year!" : " is not a leap year.";System.out.println(year + leapYear);```方法三:使用Java 8的日期类在Java 8中,可以使用内置的日期类,如LocalDate、Year等。

```int year = 2020;if (Year.of(year).isLeap()) {System.out.println(year + " is a leap year!");} else {System.out.println(year + " is not a leap year.");}```以上就是三种常用的方法,用于判断一个年份是否为闰年。

JAVA源代码 判断输入的年份是否为闰年

JAVA源代码 判断输入的年份是否为闰年

判断一个年份是否为闰年的条件是:能被400整除或被4整除但不能被100整除的数即为闰年,二者符合其一即可。

import java.util.Scanner;public class YearJudge{/***@param args*/public static void main(String[]args){//判断年份是否是闰年的条件是:能被400整除或被4整除但不能被100整除的数即为闰年,二者符合其一即可。

System.out.print("请输入想要判断是否为闰年的年份:");Scanner input=new Scanner(System.in);//获取输入的字符串String getStr=input.nextLine();System.out.println();//判断获取的字符串的长度是否为4if(getStr.length()==4){//将字符串转换为整型,Integer.parseInt()int year=Integer.parseInt(getStr);//判断能否被400整除,并返回一个布尔值boolean b1=(year%400==0);//判断能否被4整除但不能被100整除,并返回一个布尔值boolean b2=(year%4==0)&&(year%100!=0);//运用条件运算符,(b1||b2)值为真output返回“是闰年”,否则返回“不是闰年”String output=(b1||b2)?"是闰年":"不是闰年";System.out.println(year+output);}else{System.out.println("请输入正确的年份!");}} }。

java根据日期 计算年龄 闰年

java根据日期 计算年龄 闰年

package cn.bdqn.smbms.util;import java.text.SimpleDateFormat;import java.util.Date;/*** 此为工具类,数据转换等* @author 小0*/public class Tools {/*** 计算某人的生日到当前一共有几个闰年,此方法是为了更精确考虑闰年,从而计算出生日。

* @param data 数据库传入的生日*/public static int getLY(String data){int leapYear = 0;if(!("".equals(data))) {SimpleDateFormat myFormat = new SimpleDateFormat("yyyy");Date date = new Date();int birthYear = Integer.parseInt(data.substring(0, 4)); //获取出生日期,解析为Date类型int currYear = Integer.parseInt(myFormat.format(date)); //获取当前日期for(int year=birthYear;year<=currYear;year++) {if((year%4==0 && year%100!=0)||(year%400==0)) {leapYear++ ;//从出生年到当前年,只有是闰年就+1}}}return leapYear;}/*** 通过生日减去当前日期求年龄。

* @param data 接收数据库传来的birthDate:1980-08-09* @return 返回年龄*/public static int transToAge(String data) throws Exception {int age = 0;long leapYear = (long)getLY(data);//其实会自动转成intif(!("".equals(data))) {SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd");Date date = new Date();Date birthDate = myFormat.parse(data);//获取出生日期,解析为Date类型Date currDate = myFormat.parse(myFormat.format(date)); //获取当前日期if(birthDate.getTime()<=currDate.getTime()) { //以来此Date 对象表示的毫秒数age = (int)(((currDate.getTime()-birthDate.getTime())/(24*60*60*1000)-leapYear)/365);//365L表示长整型}}return age;}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档