zoukankan      html  css  js  c++  java
  • Java暑期学习第四十三天日报

    一、今日学习内容:

    今天继续练习实验三的习题。

    二、遇到的问题:

    三、明日计划:

    明天练习实验四的内容。

    今日练习内容:

    3.日期类

    定义一个日期类Date,私有数据成员有:int型变量year, month, day。公有函数成员有:

    1. int isleap()判断year是否为闰年,若是返回1,否则返回0;

    2. int check()判断日期是否合法,若合法返回1,否则返回0;

    3. void setdate()设置year,month,day的值;

    4. void display()按 “年-月-日”的格式输出日期,判断是否合法,若不合法输出Error Date,若合法,输出是否是闰年的信息;

    5. (附加)void calendarprint()函数打印当月日历,格式为(以2014年4月日历为例)

    import java.util.Scanner;
    public class Date {
        private int year;
        private int month;
        private int day;
        public static void main(String []args) {
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入年月日:");
            int a=sc.nextInt();
            int b=sc.nextInt();
            int c=sc.nextInt();
            Date d=new Date();
            d.setvalue(a, b, c);
            d.display(d);
            d.clanderprint();
            
            
            
        }
        public void setvalue(int a,int b,int c){
            year=a;
            month=b;
            day=c;    
        }
        public int islaep() {
            int result=0;
            if((year%100!=0&&year%4==0)||year%400==0)
                result=1;
            else
                result=0;
            return result;
                
        }
        public int check() {
            if (year < 0) 
                return 0;
            if (month < 1 || month > 12) 
                return 0;
            if (day < 1 || day > 31) 
                return 0;
            int maxDay = 31;
            if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
                maxDay = 31;
                
            } 
            else if (month == 2) {
                if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
                   maxDay = 29;
                }
                else {
                    maxDay = 28;
                }
            }
            else {
                maxDay = 30;
                }
            if(day>maxDay)
                return 0;
            return 1;
                
            
        }
        public void display(Date d) {
            int i=d.check();
            int r=d.islaep();
            if(i==1) {
                if(r==1)
                System.out.println("该年是闰年,该日期是:"+d.year+"-"+d.month+"-"+d.day);
                if(r==0)
                    System.out.println("该年是平年,该日期是:"+d.year+"-"+d.month+"-"+d.day);
            }
            if(i==0) {
                System.out.println("error date!");
            }
        }
        public void clanderprint() {
            int maxDay = 31;
            if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
                maxDay = 31;
                
            } 
            else if (month == 2) {
                if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
                   maxDay = 29;
                }
                else {
                    maxDay = 28;
                }
            }
            else {
                maxDay = 30;
                }
             int count = 0; //定制计数标记
             System.out.println("\n"+year+"年"+month+"月的日历如下:");
              System.out.print("Su\tMo\tTu\tWe\tTh\tFr\tSa");
              //j从1开始 到这个月的天数结束
              for(int j = 1 ; j <= maxDay ; j ++){
               count++;
               //每打印七天就换行
               if(count % 7 == 1){
                System.out.print("\n");
               }
               //打印天数
               System.out.print(j+"\t");
              }
              //打印完日历换行
              System.out.println("\n");
             
    
        }
    
    }

    测试截图:

  • 相关阅读:
    100行代码实现了多线程,批量写入,文件分块的日志方法
    阿里云客户端开发技巧
    阿里云客户端的实现(支持文件分块,断点续传,进度,速度,倒计时显示)
    类库间无项目引用时,在编译时拷贝DLL
    数据库-锁的实践
    Node.js学习资料
    文档流转,文档操作,文档归档(一)
    滑动验证码研究-后续
    iTextSharp 116秒处理6G的文件
    在职场中混,"讲演稿"的重要性
  • 原文地址:https://www.cnblogs.com/Lizhichengweidashen/p/13521024.html
Copyright © 2011-2022 走看看