Java小程序-由用户输入要查询的年或年月,当用户需查询某年时,展示一年的日历,需查询某年某月时,则仅展示当年当月的日历
2021/6/21 22:29:50
本文主要是介绍Java小程序-由用户输入要查询的年或年月,当用户需查询某年时,展示一年的日历,需查询某年某月时,则仅展示当年当月的日历,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
需求:
- 输出界面上要求能以一定的格式化形式展示出来,有年、月、星期的信息和字样
- 要求针对不同的子功能设计函数完成,函数数量不得少于3个
- 要求能循环执行,直到用户输入q"时退出
实现:
import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; public class RiLi { public static void main(String[] args) throws ParseException { Scanner sc = new Scanner(System.in); while (true) { System.out.println("---查询日历选项---"); System.out.println("1.查询一年日历:例如2021"); System.out.println("2.查询单月日历:例如2021 06"); System.out.println("输入选项:"); String choice = sc.nextLine(); switch (choice) { case "1": System.out.println("-查询一年日历-"); System.out.println("输入查询年份:"); String year = sc.nextLine(); myyear(year); break; case "2": System.out.println("-查询单月日历-"); System.out.println("输入查询年份:"); String year_solo = sc.nextLine(); System.out.println("输入查询月份:"); String month_solo = sc.nextLine(); myyear(year_solo,month_solo); break; case "q": System.out.println("-退出程序-"); System.exit(0); } } } // 查询一年的日历 public static void myyear(String year) throws ParseException { for (int mouth = 1; mouth <=12 ; mouth++) { System.out.println(mouth + "月 日历:"); int firstDay = 0; int endDay = 0; String str = year + "-" + mouth; DateFormat format = new SimpleDateFormat("yyyy-MM"); Date date = format.parse(str); Calendar c = new GregorianCalendar(); c.setTime(date); endDay = c.getActualMaximum(Calendar.DATE); c.set(Calendar.DATE, 1); firstDay = c.get(Calendar.DAY_OF_WEEK); System.out.println("------------------------------------------------------"); System.out.println("周日 周一 周二 周三 周四 周五 周六"); System.out.println("------------------------------------------------------"); for (int j = 1; j < firstDay; j++) { System.out.print("\t"); } for (int i = 1; i <= endDay; i++) { System.out.print(i + "\t"); if ((i - (8 - firstDay)) % 7 == 0) { System.out.println("\n"); } } System.out.println(); } } // 查询单月日历 public static void myyear(String year, String month) throws ParseException { System.out.println(year+"年-"+month+"月 日历:"); int firstDay = 0; int endDay = 0; String str = year + "-" + month; DateFormat format = new SimpleDateFormat("yyyy-MM"); Date date = format.parse(str); Calendar c = new GregorianCalendar(); c.setTime(date); endDay = c.getActualMaximum(Calendar.DATE); c.set(Calendar.DATE, 1); firstDay = c.get(Calendar.DAY_OF_WEEK); System.out.println("------------------------------------------------------"); System.out.println("周日 周一 周二 周三 周四 周五 周六"); System.out.println("------------------------------------------------------"); for (int j = 1; j < firstDay; j++) { System.out.print("\t"); } for (int i = 1; i <= endDay; i++) { System.out.print(i + "\t"); if ((i - (8 - firstDay)) % 7 == 0) { System.out.println("\n"); } } } }
这篇关于Java小程序-由用户输入要查询的年或年月,当用户需查询某年时,展示一年的日历,需查询某年某月时,则仅展示当年当月的日历的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略