Java黑皮书课后题第3章:**3.21(科学:某天是星期几)泽勒一致性...编写程序,提示用户输入年、月、该月的哪一天,显示它是一周中的星期几
**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(科学:某天是星期几)泽勒一致性...编写程序,提示用户输入年、月、该月的哪一天,显示它是一周中的星期几相关推荐
- Java黑皮书课后题第2章:2.11(人口统计)重写编程练习题1.11,提示用户输入年数,然后显示这个年数之后的人口值,将1.11中的提示用于这个程序
2.11(人口统计)重写编程练习题1.11,提示用户输入年数,然后显示这个年数之后的人口值,将1.11中的提示用于这个程序 题目 题目描述 运行示例 涉及的1.11代码(非本题代码) 破题 代码块 题 ...
- 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= ...
- Java黑皮书课后题第3章:3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面。随即产生一个整数0或1,分别表示
3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面 题目 题目概述 破题 代码 题目 题目概述 3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面 随即 ...
- Java黑皮书课后题第5章:5.8(找出得最高分的学生)编写程序,提示用户输入学生的个数、每个学生名字及分数,最后显示获得最高分的学生
5.8(找出得最高分的学生)编写程序,提示用户输入学生的个数.每个学生名字及分数,最后显示获得最高分的学生名字 题目 题目概述 next()读取一个字符与nextLine()读取一行 破题 代码 题目 ...
- Java黑皮书课后题第4章:*4.9(给出字符的Unicode码)编写程序,得到一个字符的输入,然后显示其Unicode值
*4.9(给出字符的Unicode码)编写程序,得到一个字符的输入,然后显示其Unicode值 题目 题目概述 运行示例 破题 代码 题目 题目概述 *4.9(给出字符的Unicode码)编写程序,得 ...
- 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线性方程) 编写程序,提示用 ...
- Java黑皮书课后题第2章:2.12(物理:求出跑道长度)编写程序,提示用户输入以米/秒为单位的速度v和加速度a,然后显示最短跑道长度
2.12(物理:求出跑道长度)编写程序,提示用户输入以米/秒为单位的速度v和加速度a,然后显示最短跑道长度 题目 题目描述 运行示例 补充 代码块 题目 题目描述 2.12(物理:求出跑道长度) 假设 ...
- Java黑皮书课后题第5章:*5.16(找出一个整数的因子)编写程序,读入一个整数,然后以升序显示它的所有最小因子。例如,若输入的整数是120,那么输出就应该是:2、2、2、3、5
*5.16(找出一个整数的因子)编写程序,读入一个整数,然后以升序显示它的所有最小因子.例如,若输入的整数是120,那么输出就应该是:2.2.2.3.5 题目 题目概述 代码:[点击这里快速跳转推荐方 ...
- Java黑皮书课后题第6章:*6.2(求一个整数各位数字之和)编写一个方法,计算一个整数各位数字之和。使用下面的方法头:public static int sumDigits(long n)
6.2(求一个整数各位数字之和)编写一个方法,计算一个整数各位数字之和.使用下面的方法头:public static int sumDigits(long n) 题目 题目概述 槽点 代码 运行示例 ...
- Java黑皮书课后题第8章:**8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法。编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积
**8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法.编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 **8.6( ...
最新文章
- TensorFlow csv读取文件数据(代码实现)
- 3d触控怎么测试软件,如何检测iPhone 8的3D Touch灵敏度
- C#中构造函数的作用
- jsoup 获取指定页面的所有链接(需后续完善)
- Python爬虫实战(3):计算大学本学期绩点
- SQLServer中连接个数及超时问题
- ASP.NET Core 项目简单实现身份验证及鉴权
- Tarjan的强联通分量
- windows7网购火车票全解析
- spring boot 实现文件下载
- 新手入门|计算机科普
- 微信小程序订阅消息报错 requestSubscribeMessage:fail can only be invoked by user TAP gesture.
- html5的calc,CSS 计算属性 calc()的完整指南(下)
- 计算机软件基础自考实践报告,信息作战自考实践报告
- 不服就GAN:GAN网络生成 cifar10 的图片实例(keras 详细实现步骤),GAN 的训练的各种技巧总结,GAN的注意事项和大坑汇总
- 【Unity】使用事件实现自动开关门
- UNIX经典命令详解
- 程序生成随机双色球号码~golang
- win10笔记本玩游戏总是很卡怎么办
- Python和PHP的区别 python周末学习