• 用java编写一个万年历程序


    要求:输入年和月份,先判断是否为闰年,在判断每个月份对应的天数

      方案步骤:1.输入年和月

           2.判断年是如否是闰年

              判断的方法:4年一闰年,100年不闰,400年又是闰年

                  代码:(year%400 == 0 )||(year%4==0 && year%100 != 0)

           3.计算月所对应的天数

                分别用if和switch来解决

    完整代码:

     1 import java.util.Scanner;
     2 
     3 public class Test9 {
     4 
     5     /**
     6      * 编写一个万年历,输入年和月,判断是不是闰年,并打印出响应的天数
     7      */
     8     public static void main(String[] args) {
     9         int year;   //保存年份
    10         int month;  //保存月份
    11         int days = 0;   //保存天数
    12         boolean isRn;   //判断是否为闰年,true为闰年,false为非闰年
    13         System.out.println("**********欢迎使用万年历***********");
    14         Scanner input = new Scanner(System.in);
    15         
    16         //输入年份和月份
    17         System.out.println("请输入年份:");
    18         year = input.nextInt();
    19         System.out.println("请输入月份");
    20         month = input.nextInt();
    21         
    22         //判断年份是否为闰年
    23         if((year%400 == 0 )||(year%4==0 && year%100 != 0)){
    24             isRn = true;
    25         }else{
    26             isRn = false;
    27         }
    28         
    29         //判断月份的天数
    30         if(month==1 || month==3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12){
    31             days = 31;
    32         }else if(month == 2 ){
    33             if(isRn){
    34                 days = 29;
    35             }else{
    36                 days = 28;
    37             }
    38         }else if(month == 4 || month == 6 || month == 9 || month == 11 ){
    39             days = 30;
    40         }else {
    41             System.out.println("请输入正确的月份");
    42         }
    43         
    44         //用switch进行月份的判断
    45         /*switch(month){
    46             case 1:
    47             case 3:
    48             case 5:
    49             case 7:
    50             case 8:
    51             case 10:
    52             case 12: days= 31;
    53                     break;
    54             case 2: if(isRn){
    55                         days = 29;
    56                     }else{
    57                         days = 28;
    58                     }
    59                     break;
    60             case 4:
    61             case 6:
    62             case 9:
    63             case 11:
    64                 days = 30;
    65                 break;
    66             default:
    67                 System.out.println("请输入正确的月份:");
    68                 
    69             }*/
    70         
    71         System.out.println(year +"年"+month+"月对应的天数为:"+days);    
    72     }
    73 }

     运行结果:

  • 相关阅读:
    MySQL Backup mysqldump 常用选项与主要用法--转发
    openssl 之RSA加密
    Windows 之Dll/lib导出
    缓存雪崩、击穿、穿透
    时间复杂度
    分布式事务
    mysql主从复制与读写分离
    什么是消息队列?
    微服务架构演化
    高并发问题常规思路
  • 原文地址:https://www.cnblogs.com/lixiaokang-blog/p/7207049.html
Copyright © 2020-2023  润新知