5.28(显示每月第一天是周几)编写程序,提示用户输入年份和代表概念第一天是周几的数字,然后在控制台显示该年各个月份的第一天是周几

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

题目

题目概述

5.28(显示每月第一天是周几)编写程序,提示用户输入年份和代表概念第一天是周几的数字,然后在控制台显示该年各个月份的第一天是周几
如:如果用户输入的年份是2013和代表2013年1月1日为星期二的2,程序应该显示如下输出:
January 1, 2013 is Tuesday
December 1, 2013 is Sunday

破题

使用嵌套,外层for循环,内层两个switch选择语句

代码

import java.util.Scanner;public class Test5_28 {public static void main(String[] args) {// 接收用户输入Scanner input = new Scanner(System.in);System.out.println("输入年份和代表该年第一天是周几的数字");int year = input.nextInt();int day = input.nextInt();// 计算指定年份1月1号到String str = "";String str2 = "";for (int month = 1; month <= 12 ; month++){// 月份天数(不考虑闰年)switch (month){case 1: {str1 += "January 1, ";} break;case 2: {day += 31; str1 += "Febuary 1, ";} break;case 3: {day += 28; str1 += "March 1, ";} break;case 4: {day += 31; str1 += "April 1, ";} break;case 5: {day += 30; str1 += "May 1, ";} break;case 6: {day += 31; str1 += "June 1, ";} break;case 7: {day += 30; str1 += "July 1, ";} break;case 8: {day += 31; str1 += "Auguest 1, ";} break;case 9: {day += 31; str1 += "September 1, ";} break;case 10: {day += 30; str1 += "October 1, ";} break;case 11: {day += 31; str1 += "November 1, ";} break;case 12: {day += 30; str1 += "December 1, ";}}// 判断闰年+month大于等于2则day+1if (((year % 4 == 0) && (year % 100 != 0)) || ((year % 400 == 0) && (year % 100 == 0))){if (month != 1)day +=1;}// 求是周几int week = day % 7;switch (week){case 1:str2 = " is Monday";break;case 2:str2 = " is Tuesday";break;case 3:str2 = " is Wednesday";break;case 4:str2 = " is Thurday";break;case 5:str2 = " is Friday";break;case 6:str2 = " is Saturday";break;case 0:str2 = " is Sunday";break;}// 输出System.out.println(str + year + str2);str = "";str2 = "";}}
}

运行示例

输入年份和代表该年第一天是周几的数字
2013 2
January 1, 2013 is Tuesday
Febuary 1, 2013 is Friday
March 1, 2013 is Friday
April 1, 2013 is Monday
May 1, 2013 is Wednesday
June 1, 2013 is Saturday
July 1, 2013 is Monday
Auguest 1, 2013 is Thurday
September 1, 2013 is Sunday
November 1, 2013 is Tuesday
December 1, 2013 is Friday
October 1, 2013 is SundayProcess finished with exit code 0

Java黑皮书课后题第5章:**5.28(显示每月第一天是周几)编写程序,提示用户输入年份和代表概念第一天是周几的数字,然后在控制台显示该年各个月份的第一天是周几相关推荐

  1. Java黑皮书课后题第2章:2.4(将磅转换为千克)编写程序,将磅数转换为千克数。程序提示用户输入磅数,然后转换为千克并显示结果。1磅等于0.454千克

    2.4(将磅转换为千克)编写程序,将磅数转换为千克数.程序提示用户输入磅数,然后转换为千克并显示结果.1磅等于0.454千克 题目 题目概述 运行示例 破题 代码块 方法评价 修改日志 题目 题目概述 ...

  2. Java黑皮书课后题第4章:*4.13(判断元音还是辅音)编写程序,提示用户输入一个字母,判断该字母是元音还是辅音。对于非字母的输入,提示非法输入

    *4.13(判断元音还是辅音)编写程序,提示用户输入一个字母,判断该字母是元音还是辅音.对于非字母的输入,提示非法输入 题目 题目概述 运行示例 破题 代码 题目 题目概述 *4.13(判断元音还是辅 ...

  3. Java黑皮书课后题第3章:**3.19(计算三角形的周长)编写程序,读取三角形的三个边,如果输入值合法就计算这个三角形的周长;否则,显示这些输入值不合法。如果任意两条边的和大于第三边,则输入值都是合

    **3.18(计算三角形的周长)编写程序,读取三角形的三个边,如果输入值合法就计算这个三角形的周长:否则,显示这些输入值不合法.如果任意两条边的和大于第三边,则输入值都是合法的 题目 题目概述 破题 ...

  4. Java黑皮书课后题第2章:2.10(科学:计算能量)编写程序,计算将水从初始温度加热到最终温度所需的能量。程序应该提示用户输入水的重量(kg),以及水的初始温度、最终温度

    2.10(科学:计算能量)编写程序,计算将水从初始温度加热到最终温度所需的能量.程序应该提示用户输入水的重量(kg),以及水的初始温度.最终温度 题目 题目描述 计算能量的公式 运行示例 代码块 零基 ...

  5. Java黑皮书课后题第3章:**3.24(游戏:抽牌)编写程序,模拟从一副52张的牌中抽一张牌,程序应显示牌的大小、花色

    **3.24(游戏:抽牌)编写程序,模拟从一副52张的牌中抽一张牌,程序应显示牌的大小.花色 题目 题目概述 运行示例 破题 代码 题目 题目概述 **3.24(游戏:抽牌)编写程序,模拟从一副52张 ...

  6. Java黑皮书课后题第2章:*2.19(几何:三角形面积)编写程序,提示用户输入三角形的三个点(x1, y1)(x2, y2)(x3, y3),然后显示它的面积

    *2.19(几何:三角形面积)编写程序,提示用户输入三角形的三个点横纵坐标值,然后显示它的面积 题目 题目概述 运行示例 思路 代码 如何用嵌套的pow()写出两点距离公式 题目 题目概述 2.19( ...

  7. Java黑皮书课后题第2章:2.16(几何:六边形面积)编写程序,提示用户输入六边形边长,然后显示它的面积

    2.16(几何:六边形面积)编写程序,提示用户输入六边形边长,然后显示它的面积 题目 题目描述 运行示例 代码 题目 题目描述 2.16(几何:六边形面积)编写程序,提示用户输入六边形边长,然后显示它 ...

  8. Java黑皮书课后题第2章:2.1(将摄氏温度转换为华氏温度)编写程序,从控制台读入double型的摄氏温度值,将其转为华氏温度,显示结果

    2.1(将摄氏温度转换为华氏温度)从控制台读入double型的摄氏温度值,将其转为华氏温度 题目 题目概述 破题 代码块 方法评价 注意问题 控制台读入数据的代码顺序 控制台读取数据的代码理解 修改日 ...

  9. Java黑皮书课后题第4章:*4.17(一个月的天数)编写一个程序,提示用户输入一个年份和一个月份名称的前3个字母(第一个字母使用大写形式),显示该月中的天数。如果月份非法则显示出错信息

    *4.17(一个月的天数)编写一个程序,提示用户输入一个年份和一个月份名称的前3个字母(第一个字母使用大写形式),显示该月中的天数.如果月份非法则显示出错信息 题目 题目概述 破题 运行示例 代码 题 ...

最新文章

  1. MASQUERADE --random 端口不随机
  2. MySQL授权命令grant的使用方法
  3. 解决Redmi 6 pro底部出现黑边问题
  4. C/C++函数指针与回调函数总结(函数指针数组)
  5. 能用计算机解决的问题十个,计算机常见问题及解决方法,计算机十项常见故障...
  6. React学习文档阅读(一)
  7. Atitit 手机图片备份解决方案attilax总结
  8. 带grub的软盘镜像制作
  9. 调用百度api 生成短网址
  10. 关于电脑突然产生数字文件夹用360删不掉的情况
  11. B2065 鸡尾酒疗法
  12. python输入一个人的名字_把一个人的名字分成名字和姓
  13. 京东零售大数据云原生平台化实践
  14. 理解es6中的暂时性死区
  15. HTML实现图片点击放大效果
  16. 英国大学入学要求只是A-level/IB成绩吗
  17. Android_AsyncTaskDemo之QQ记步数(画圆形图片知识)
  18. 探讨网站推广方式之论坛推广 [
  19. 取模是什么意思python_Python中的取模运算
  20. 国二c语言最后一道题怎么做拿分,2017年全国计算机二级C语言考试提分试题

热门文章

  1. python主流编程语言_对5种主流编程语言的吐槽!
  2. P1115 最大子段和
  3. 如何利用DataWorks OpenAPI实现圈人?
  4. 二值化_处理连续型特征:二值化与分段
  5. 从0开始搭建一个战棋游戏的AI(初级教程)
  6. MySQL数据库InnoDB坏页处理修复
  7. 第一章 SDN介绍 (附件3)【云计算,SDN,虚拟化三者关系】
  8. Linux从零开始(二、基础命令(续二)解压 tar)
  9. Ubuntu18.04彻底删除MySQL数据库
  10. centos 7 关闭 firewall、iptables