泽勒一致性是由克里斯汀 · 泽勒开发的用于计算某天是星期几的算法。

这个公式是:

h = (q + (26(m + 1) / 10) + k + k/4 + j/4 + 5j) % 7

其中:

  • h是一个星期中的某一天(0 为星期六;1 为星期天;2 为星期一; 3 为星期二;4 为星期三;5 为星期四;6 为星期五)。
  • q 是某月的第几天。
  • m 是月份(3 为三月,4 为四月,...,12 为十二月)。一月和二月分别记为上一年的13 和 14 月。
  • j 是世纪数(即|year / 100|)。
  • k 是该世纪的第几年(即year % 100)。注意,公式中的除法执行一个整数相除。
  • 一月和二月在公式中使用 13 和 14 表示的。所以需要将用户输入的月份 1 转换为 13,将月份 2 转换为 14,同时将年份改为前一年。

编写程序,提示用户输入年、月和该月的哪一天,然后显示它是一周中的星期几。


package pack2;import java.util.Scanner;public class DayIs {public static void main(String[] args) {try(Scanner input = new Scanner(System.in);) {System.out.print("Enter year: (e.g., 2012): ");int year = input.nextInt();System.out.print("Enter month: 1-12: ");int month = input.nextInt();System.out.print("Enter the day of the month: 1-31: ");int day = input.nextInt();System.out.println(day(year, month, day));}}//某天是星期几public static String day(int year, int month, int day) {String[] days = {"Saturday", "Sunday", "Monday", "Tuesday", "Wednesday",     "Thursday", "Friday"}; int m = month,k, j;if(month < 1 || month > 12)   //如果月份不合法,抛出异常throw new IllegalArgumentException("Error Month: "+month);if(day < 1 || day > 31)     //如果天数不合法,抛出异常throw new IllegalArgumentException("Error Day: "+day);if(month == 1 || month == 2) {    //处理月份为1或2的情况m = (month == 1) ? 13 : 14; //如果月份为1,m = 13;否则,m = 14year--;     //年份减一}k = year % 100;             //世纪的第几年j = Math.abs(year / 100);  //世纪数int h = (day + (26 * (m + 1)) / 10 + k + (k / 4) + (j / 4) + 5 * j) % 7;return "Day of the week is "+days[h];}
}

Java、某天是星期几相关推荐

  1. java 判断天是星期及_java判断日期是星期几的方法总结

    java取得指定日期是星期几的方法:(相关视频教程推荐:java视频教程) 1.使用Calendar类//根据日期取得星期几 public static String getWeek(Date dat ...

  2. java获取当前时间星期几_java怎么获取当前日期是星期几

    java怎么获取当前日期是星期几 第一种方法:/** * 获取当前日期是星期几 * * @param date * @return 当前日期是星期几 */ public String getWeekO ...

  3. java根据时间判断星期几_java怎么根据日期判断是星期几

    java怎么根据日期判断是星期几 发布时间:2020-06-23 09:31:18 来源:亿速云 阅读:112 作者:Leah 这篇文章将为大家详细讲解有关java怎么根据日期判断是星期几,小编觉得挺 ...

  4. java 由日期计算星期几_java计算日期是星期几

    java取得指定日期是星期几:(推荐:java视频教程) 取得指定日期是星期几可以采用下面两种方式取得日期是星期几: 1..使用Calendar类//根据日期取得星期几 public static S ...

  5. c语言不会可以学好java吗_有人说学了C语言,两天就能学会Java,两个星期就可以找工作?...

    作为一个过来人来说,编程如果真的那么简单就不会导致现在各大公司还喊着招不到人的情况了,虽然编程领域里面有触类旁通的说法,但这个说法只是针对于对于一种编程已经掌握到一定程度了,不是简单的学过或者做过就可 ...

  6. 有人说学了C语言,两天就能学会Java,两个星期就可以找工作?

    作为一个过来人来说,编程如果真的那么简单就不会导致现在各大公司还喊着招不到人的情况了,虽然编程领域里面有触类旁通的说法,但这个说法只是针对于对于一种编程已经掌握到一定程度了,不是简单的学过或者做过就可 ...

  7. Java中看今天是星期几,礼拜几

    下面这段代码就能达到目的: Date today = new Date();         Calendar c=Calendar.getInstance();         c.setTime( ...

  8. java选择结构二星期几_java4选择结构 二

    public class jh_01_为什么使用switch选择结构 { /* * 韩嫣参加计算机编程大赛 * 如果获得第一名,将参加麻省理工大学组织的1个月夏令营 * 如果获得第二名,将奖励惠普笔记 ...

  9. java用代码实现星期菜谱_基于JAVA的菜谱大全接口调用代码实例

    基于JAVA的菜谱大全接口调用代码实例 代码描述:基于JA V A的菜谱大全接口调用代码实例 接口平台:聚合数据 import java.io.BufferedReader; import java. ...

  10. java用代码实现星期菜谱,基于jsp的家庭食谱管理-JavaEE实现家庭食谱管理 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的家庭食谱管理, 该项目可用各类java课程设计大作业中, 家庭食谱管理的系统架构分为前后台两部分, 最终实现在线上 ...

最新文章

  1. html中如何修改href,在html中设置href链接中的变量
  2. android ListView 局部刷新
  3. python内置函数返回序列中最大元素_Python之路(第八篇)Python内置函数、zip()、max()、min()...
  4. mysql 登录的权限设置_MySQL 登录权限设置SQL语句
  5. 《android深入探索》第四章心得
  6. ubuntu8.04自动挂载硬盘分区
  7. 不能对bug视而不见
  8. 计算机科学概论文正,北京工业大学软件学院硕导介绍-李文正
  9. IDEA官网以往版本下载
  10. 学生用计算机的按键名称,计算器各个键的功能
  11. 安卓手机模拟路由器 测试WIFI信道遍历
  12. 小白学java-JVM知识点总结
  13. Spread 14.2.0 for WinForms
  14. 如何恢复删除的微信聊天记录?(详细攻略)
  15. 10分钟教你如何在win10上操作win10上的虚拟机中的docker容器,保证学会
  16. 写项目时怎样将后台管理使用的富文本编辑器保存的内容转为HTML格式
  17. SitePoint Podcast#77:纸还是蓝光?
  18. 12、加权平均队列(WFQ-Weight Fair Queue)算法
  19. 文本预处理学习(2)
  20. java实现截取视频方法

热门文章

  1. i.MX6UL IO分析
  2. windows mac谷歌浏览器跨域
  3. 第二章 大数据技术概述
  4. VsCode使用笔记【2】Ubuntu+.deb文件安装VScode
  5. google提供的blog搜索网址
  6. 轻量级神经网络架构综述
  7. 图形 3.6 纹理压缩——包体瘦身术——RGBA与ASTC与ETC2压缩与实际对比体验
  8. \u5168\u56fd\u7f8e\u5bb9\u5927\u592b数据采集数据(\u82b1\u5bb9\u7f51 huaroo 公开数据),爬虫120例之26例
  9. 单出口双防火墙双核心冗余_各类冗余备份技术合集
  10. ipa逆向分析class-dump的安装和使用