**3.21(科学:某天是星期几)泽勒一致性...编写程序,提示用户输入年、月、该月的哪一天,显示它是一周中的星期几

  • 题目
    • 题目概述
    • 运行示例
    • 破题
  • 代码

题目

题目概述

**3.21(科学:某天是星期几)泽勒一致性…编写程序,提示用户输入年、月、该月的哪一天,显示它是一周中的星期几
泽勒一致性是由克里斯汀·泽勒开发的用于计算某天是星期几的算法:
h = (q + (26 * (m + 1)) / 10 + k + k / 4 + j / 4 + 5 * j) % 7
其中:

  • h是一个星期中的某一天(0为星期六;1为星期天;2为星期一;3为星期二;4为星期三;5为星期四;6为星期五)
  • q是某月的第几天
  • m是月份(3为三月,4为四月,……,12为十二月),一月和二月分别记为上一年的13和14月
    1月转为13,2月转为14,同时年份减1
  • j是year / 100。
  • k是该世纪的第几年(即year%100)。

运行示例

Enter year: (e.g., 2012): 2015
Enter month: 1-12 : 1
Enter the day of the month:1-31 : 25
Day of the week is Sunday

Enter year: (e.g., 2012): 2012
Enter month: 5
Enter the day of the month:1-31 : 12
Day of the week is Saturday

破题

接收用户输入数据
转换为公式规定要求
代入公式计算
得出结果并转化为str

代码

import java.util.Scanner;public class Test3_21 {public static void main(String[] args) {// 接收用户数据Scanner input = new Scanner(System.in);System.out.println("Enter year: (e.g., 2012): ");int year = input.nextInt();System.out.println("Enter month: 1-12 : ");int m = input.nextInt();    // 需要调整System.out.println("Enter the day of the month:1-31 : ");int q = input.nextInt();// 完善变量的值if(m == 1 || m == 2){m += 12;year -= 1;}int k = year % 100;int j = year / 100;// 代入公式int h = (q + (26 * (m + 1)) / 10 + k + k / 4 + j / 4 + 5 * j) % 7;// 转为对应的英文String str;switch (h){case 0:str = "Saturday";break;case 1:str = "Sunday";break;case 2:str = "Monday";break;case 3:str = "Tuesday";break;case 4:str = "Wednesday";break;case 5:str = "Thursday";break;default:str = "Friday";}System.out.println("Day of the week is " + str);}
}

Java黑皮书课后题第3章:**3.21(科学:某天是星期几)泽勒一致性...编写程序,提示用户输入年、月、该月的哪一天,显示它是一周中的星期几相关推荐

  1. Java黑皮书课后题第2章:2.11(人口统计)重写编程练习题1.11,提示用户输入年数,然后显示这个年数之后的人口值,将1.11中的提示用于这个程序

    2.11(人口统计)重写编程练习题1.11,提示用户输入年数,然后显示这个年数之后的人口值,将1.11中的提示用于这个程序 题目 题目描述 运行示例 涉及的1.11代码(非本题代码) 破题 代码块 题 ...

  2. Java黑皮书课后题第1章:1.13(代数:求解2*2线性方程组)编写程序,求解以下方程组并显示x和y的值 3.4x+50.2y=44.5 2.1x+0.55y=5.9

    Java黑皮书课后题第1章:(代数:求解2*2线性方程组) 题目 题目描述 破题 代码块 方法评析 赘述 修改日志 题目 题目描述 求x和y值: 3.4x+50.2y=44.5 2.1x+0.55y= ...

  3. Java黑皮书课后题第3章:3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面。随即产生一个整数0或1,分别表示

    3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面 题目 题目概述 破题 代码 题目 题目概述 3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面 随即 ...

  4. Java黑皮书课后题第5章:5.8(找出得最高分的学生)编写程序,提示用户输入学生的个数、每个学生名字及分数,最后显示获得最高分的学生

    5.8(找出得最高分的学生)编写程序,提示用户输入学生的个数.每个学生名字及分数,最后显示获得最高分的学生名字 题目 题目概述 next()读取一个字符与nextLine()读取一行 破题 代码 题目 ...

  5. Java黑皮书课后题第4章:*4.9(给出字符的Unicode码)编写程序,得到一个字符的输入,然后显示其Unicode值

    *4.9(给出字符的Unicode码)编写程序,得到一个字符的输入,然后显示其Unicode值 题目 题目概述 运行示例 破题 代码 题目 题目概述 *4.9(给出字符的Unicode码)编写程序,得 ...

  6. Java黑皮书课后题第3章:*3.3(代数:求解2*2线性方程)编写程序,提示用户输入a、b、c、d、e和f,然后显示结果

    *3.3(代数:求解2*2线性方程)编写程序,提示用户输入a.b.c.d.e和f,然后显示结果 题目 题目描述 运行示例 破题 代码 题目 题目描述 3.3(代数:求解22线性方程) 编写程序,提示用 ...

  7. Java黑皮书课后题第2章:2.12(物理:求出跑道长度)编写程序,提示用户输入以米/秒为单位的速度v和加速度a,然后显示最短跑道长度

    2.12(物理:求出跑道长度)编写程序,提示用户输入以米/秒为单位的速度v和加速度a,然后显示最短跑道长度 题目 题目描述 运行示例 补充 代码块 题目 题目描述 2.12(物理:求出跑道长度) 假设 ...

  8. Java黑皮书课后题第5章:*5.16(找出一个整数的因子)编写程序,读入一个整数,然后以升序显示它的所有最小因子。例如,若输入的整数是120,那么输出就应该是:2、2、2、3、5

    *5.16(找出一个整数的因子)编写程序,读入一个整数,然后以升序显示它的所有最小因子.例如,若输入的整数是120,那么输出就应该是:2.2.2.3.5 题目 题目概述 代码:[点击这里快速跳转推荐方 ...

  9. Java黑皮书课后题第6章:*6.2(求一个整数各位数字之和)编写一个方法,计算一个整数各位数字之和。使用下面的方法头:public static int sumDigits(long n)

    6.2(求一个整数各位数字之和)编写一个方法,计算一个整数各位数字之和.使用下面的方法头:public static int sumDigits(long n) 题目 题目概述 槽点 代码 运行示例 ...

  10. Java黑皮书课后题第8章:**8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法。编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积

    **8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法.编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 **8.6( ...

最新文章

  1. TensorFlow csv读取文件数据(代码实现)
  2. 3d触控怎么测试软件,如何检测iPhone 8的3D Touch灵敏度
  3. C#中构造函数的作用
  4. jsoup 获取指定页面的所有链接(需后续完善)
  5. Python爬虫实战(3):计算大学本学期绩点
  6. SQLServer中连接个数及超时问题
  7. ASP.NET Core 项目简单实现身份验证及鉴权
  8. Tarjan的强联通分量
  9. windows7网购火车票全解析
  10. spring boot 实现文件下载
  11. 新手入门|计算机科普
  12. 微信小程序订阅消息报错 requestSubscribeMessage:fail can only be invoked by user TAP gesture.
  13. html5的calc,CSS 计算属性 calc()的完整指南(下)
  14. 计算机软件基础自考实践报告,信息作战自考实践报告
  15. 不服就GAN:GAN网络生成 cifar10 的图片实例(keras 详细实现步骤),GAN 的训练的各种技巧总结,GAN的注意事项和大坑汇总
  16. 【Unity】使用事件实现自动开关门
  17. UNIX经典命令详解
  18. 程序生成随机双色球号码~golang
  19. win10笔记本玩游戏总是很卡怎么办
  20. Python和PHP的区别 python周末学习

热门文章

  1. 矩阵的乘法通用模板(C++/Java)
  2. 阿里云 Serverless 事件总线 EventBridge 重磅发布
  3. 7 个建议让 Code Review 高效又高质
  4. 人工智阅读理解能力首超人类,阿里巴巴刷新世界纪录
  5. 贫穷中透着零基础的单人制作游戏手册之一:怎么开局
  6. 加速 VR 渲染地狱难度进阶篇:降低图形 API 调用次数
  7. 依赖注入 这样的坑游戏编程要谨慎
  8. 【蓝桥杯省赛】冲刺练习题【循环】倒计时【15】天
  9. 第七届蓝桥杯省赛JavaC组真题——详细答案对照(完整版)
  10. RobHess的SIFT代码解析之RANSAC