Java使用Calendar类实现动态日历

这篇文章主要为大家详细介绍了Java使用Calendar类实现动态日历,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

Java使用Calendar类实现动态日历,久久派带你了解更多相关信息。

本文实例为大家分享了Java使用Calendar类实现动态日历的具体代码,供大家参考,具体内容如下

题目:

使用Calendar类实现一个动态日历,要求能够通过输入一个年份,月份显示当月的日历布局,并且将周六周天使用\”[]\”包裹起来,另外要求如果显示为当月日历时,把当天的日期使用\”*\”标记出来。

步骤分析:

1.打印日历

1.1当月总天数

1.2当月第一天是周几(注意:月份是从0开始,星期是从周日(1)开始)

Java使用Calendar类实现动态日历

Java使用Calendar类实现动态日历

2.周末用【】包裹

3.当前日期前加*号

代码实现:

package com.softeem.j2016.example; import java.util.Calendar;import java.util.Date;import java.util.Scanner; /** * 1.打印日历 * 1.1当月总天数 * 1.2当月第一天是周几 * 2.周末用【】包裹 * 3.当前日期加“*” * @author admin * 2021/7/23 */public class CalendarDemo {    //获取一个日期实例    static  Calendar c = Calendar.getInstance();     public static void show(int year,int month){        //获取当天日期        Date today = new Date();        //获取系统时间的年月日        int y = today.getYear() +1900;        int m = today.getMonth() +1;        int d = today.getDate() ;         c.set(Calendar.YEAR,year);        c.set(Calendar.MONTH,month-1);        //设置当前日历的日期为本月的第一天(7.1)        c.set(Calendar.DAY_OF_MONTH,1);        //获取当前字段所表示日历的可能具备最大值(本月总天数)        int days = c.getActualMaximum(Calendar.DAY_OF_MONTH);        //获取当月第一天是周几(7.1前面设置为本月第一天),周日=1;        int week = c.get(Calendar.DAY_OF_WEEK)-1;        //如果当天是周日,则设置为7        week = week == 0?7 :week;        //打印空格数        System.out.printf(\"%d月一共有%d天,1号是周%d\\n\",month,days,week);        System.out.printf(\"==========【%d】年【%d】月==========\\n\",year,month);        System.out.println(\"一\\t二\\t三\\t四\\t五\\t六\\t日\");        System.out.println(\"================================\");        //计数器        int count  = 0;        //(输出空格)如果当天是星期四则说明有三个空格,需要循环三次,则week-1        for (int i = 0; i < week - 1; i++) {            System.out.print(\"\\t\");            count++;        }        for (int i = 1; i <=days; i++) {            count++;            //根据日期的数值判断是否是周末,如果是则用\"[]\"包裹            String date = (count % 7 ==6 || count % 7 == 0)?\"[\"+i+\"]\\t\":i+\"\\t\";            //在当前日期前使用\"*\"标记            date = (y == year && m == month && d == i)?\"*\" + date:date;            //输出日期            System.out.print(date);            //达到七位则换行            if (count%7==0){                System.out.println();            }        }    }     public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        System.out.println(\"请输入年份\");        int year = sc.nextInt();        System.out.println(\"请输入月份\");        int month = sc.nextInt();        show(year,month);    }}

效果截图:

Java使用Calendar类实现动态日历

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持趣讯吧。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/8179.html

(0)
上一篇 2021-07-29 20:48:13
下一篇 2021-07-29 20:48:16

相关推荐

  • 骁龙870和骁龙865哪个好(骁龙865和骁龙870功耗)

    大家好,小迷为大家解答以上骁龙865和骁龙870功耗,骁龙870和骁龙865哪个好的问题,也是到网上收集了关于骁龙865和骁龙870功耗,骁龙870和骁龙865哪个好的信息,那么下面分享给大家一起了解下吧。解答:1、一、参数对比Mini手机网络

    2022-01-07
    3450
  • 鸿蒙系统智能解锁怎么用

    鸿蒙系统是非常强大的系统,对于很多用户都来说是充满各种全新的功能的系统,所以很多系统功能都没有学会使用,其中有一个功能就是使用智能设备连接手机进行解锁的操作,那么下面就让小编给大家介绍一下。

    2021-08-28
    3540
  • 为什么一到冬天就浑身瘙痒?千万别挠!缓解办法拿走不谢

    要说冬天最令人头疼的,除了整不完的静电,还有瘙痒。有些人,尤其是老人经常皮肤瘙痒,一到冬天,身上发痒更严重了。后背痒、前胸痒、胳膊腿儿也痒,泡了个热水澡,没想到更痒了。甚至

    2021-11-28
    2680
  • 蔚来ES8自动辅助驾驶车祸!网友都忘了现场还有辆撞翻的工程车?

    8月14日,一则讣告让蔚来和其&ldquo;自动驾驶功能&rdquo;(NOP智能领航系统)彻底带上了热搜。讣告:8月12日,上善若水投资管理公司创始人林文钦(昵称&ldquo;萌剑客&rdquo;),驾驶蔚来ES8汽

    2021-08-18
    3110
  • 强制猥褒罪的表现

    法律问题分析:所谓其他手段,是指暴力、胁迫以外的其他使妇女无法反抗、不知反抗的手段。所谓猥亵,是指以刺激或满足性欲为目的,用性交以外的方法实施的淫秽行为。猥亵既可以发生在男女之间,也可以发也于同性之间,但是只有猥亵妇女、猥亵儿童的,才构成本条规定的犯

    2022-01-08
    1700
  • 华为mate40pro防水吗?华为mate40pro防水效果怎么样

    华为mate40pro自上市就受到了许多消费者的喜爱,而它的防水性能也是不少小伙伴非常好奇的问题。今天小编为大家准备了相关信息,那么到底华为mate40pro防水吗?防水效果怎么样?下面就一起看看吧!

    2021-07-31
    3130

发表回复

登录后才能评论