Java黑皮书课后题第5章:**5.28(显示每月第一天是周几)编写程序,提示用户输入年份和代表概念第一天是周几的数字,然后在控制台显示该年各个月份的第一天是周几
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第5章:**5.28(显示每月第一天是周几)编写程序,提示用户输入年份和代表概念第一天是周几的数字,然后在控制台显示该年各个月份的第一天是周几
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
5.28(顯示每月第一天是周幾)編寫程序,提示用戶輸入年份和代表概念第一天是周幾的數字,然后在控制臺顯示該年各個月份的第一天是周幾
- 題目
- 題目概述
- 破題
- 代碼
- 運行示例
題目
題目概述
5.28(顯示每月第一天是周幾)編寫程序,提示用戶輸入年份和代表概念第一天是周幾的數字,然后在控制臺顯示該年各個月份的第一天是周幾
如:如果用戶輸入的年份是2013和代表2013年1月1日為星期二的2,程序應該顯示如下輸出:
January 1, 2013 is Tuesday
December 1, 2013 is Sunday
破題
使用嵌套,外層for循環(huán),內層兩個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(显示每月第一天是周几)编写程序,提示用户输入年份和代表概念第一天是周几的数字,然后在控制台显示该年各个月份的第一天是周几的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第5章:**5.27
- 下一篇: Java黑皮书课后题第5章:*5.30(