package com.etc.util;

import java.util.Calendar;
import java.util.Scanner; public class Calendar2 { 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();
// 输入天数
System.out.println("请输入指定天数:");
int day = sc.nextInt(); // 在控制台输出周期数
System.out.println("日\t一\t二\t三\t四\t五\t六"); // 创建日历Calendar变量对象
Calendar cal = Calendar.getInstance();
// 给Calendar对象设置年月日
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month - 1);
// cal.set(Calendar.DATE,day); // 将天数设置为第一天
cal.set(Calendar.DATE, 1); // 指定月的第一天是星期几
int i = cal.get(Calendar.DAY_OF_WEEK); int weekday = 0;// 指定月的第一天前面有多少个空格
switch (i) {
case 1:
weekday = 0;
break;
case 2:
weekday = 1;
break;
case 3:
weekday = 2;
break;
case 4:
weekday = 3;
break;
case 5:
weekday = 4;
break;
case 6:
weekday = 5;
break;
case 7:
weekday = 6;
break;
} // 打印输出指定月第一天的前面几个空格
for (int j = 0; j < weekday; j++) {
System.out.print("\t");
} int days = 1;
// 从指定月的第一天开始打印输出
for (int j = 0; j < 7 - weekday; j++) {
System.out.print(days + "\t");
days++;
} int actualMaximumDate = cal.getActualMaximum(Calendar.DATE);//获取本月的实际最大天数
cal.set(Calendar.DATE,actualMaximumDate);//设置本月的天数是当前月的实际最大天数
int week_month=cal.get(Calendar.WEEK_OF_MONTH);//返回的是当前天数是本月第几周 for(int j=0;j<week_month;j++){//指定月有多少周,就打印多少行
System.out.println();//每输出打印7天就换一行
for(int k=0;k<7;k++){//依次将周日到周六的对应的天数打印出来
if(days>actualMaximumDate){//若自动增加的天数大于实际天数,循环终止
return;
}
if(days==day){//若指定的天数与当前自动增加的天数一样,标识出来打印
System.out.print("*"+days+"\t");
}else{//若指定的天数与当前自动增加的天数不一样,正常打印
System.out.print(days+"\t");
}
days++;
}
} }
}

  

通过学习Date和Calendar时写的日历的更多相关文章

  1. java基础1.5版后新特性 自动装箱拆箱 Date SimpleDateFormat Calendar.getInstance()获得一个日历对象 抽象不要生成对象 get set add System.arrayCopy()用于集合等的扩容

    8种基本数据类型的8种包装类 byte Byte short Short int Integer long Long float Float double Double char Character ...

  2. 学习java窗口基本操作时无聊写的

    学习java窗口基本操作时无聊写的 就当记录 代码如下: package day08; import java.awt.BorderLayout;import java.awt.Color;impor ...

  3. 第28天学习打卡(Date和Calendar类 基本类型的包装类 集合 增强for循环 )

    Date和Calendar类 简介 日期和日历类,用于操作日期相关信息. 构造方法 Date(): 构造一个日期对象,当前系统时间,精确到毫秒. Date(long): 构造一个日期对象,时间为自&q ...

  4. JAVA之旅(二十三)——System,RunTime,Date,Calendar,Math的数学运算

    JAVA之旅(二十三)--System,RunTime,Date,Calendar,Math的数学运算 map实在是太难写了,整理得我都晕都转向了,以后看来需要开一个专题来讲这个了,现在我们来时来学习 ...

  5. java时间类Date、Calendar及用法

    对于时间类,这篇主要说明各种现实情况下如何取值,怎么定向取值,得到自己想要的时间参数.在java中时间类主要有Date.Calendar,暂时只介绍 java.util.*下的时间类,对于java.s ...

  6. java日期类型转换总结date timestamp calendar string

    用Timestamp来记录日期时间还是很方便的,但有时候显示的时候是不需要小数位后面的毫秒的,这样就需要在转换为String时重新定义格式.         Timestamp转化为String: S ...

  7. Java:Date、Calendar、Timestamp的使用

    一.Java.util.Date 该对象包含了年月日时分秒信息.具体使用如下代码: //String 转换为Date private static void dateDemo() throws Par ...

  8. Java:Date、Calendar、Timestamp的区别、相互转换与使用【转载】

    1 Java.util.Date 包含年.月.日.时.分.秒信息 包含年.月.日信息. 继承自java.util.Date.在数据库相关操作中使用,如rs.getDate,ps.setDate等.rs ...

  9. java日期和时间Date、Calendar、SimpleDateFormat

    1       时间和日期 1.1      日期类Date和格式化SimpleDateFormat 日期使用过程中需要将日期Date对象转化为字符串,或者将字符串形式的日期转化为日期Date对象.可 ...

随机推荐

  1. WinForm窗体中窗口控件的生成

    1:button控件的生成方式 Button button = new Button(); button.Size = new Size(80, 80); button.Location = new ...

  2. Oracle ASM注意事项

    ASM是负载均衡的存储策略,加新磁盘会将其它盘数据平均迁移到新磁盘,删除磁盘会将删除磁盘数据平均写回其它磁盘 1.同一磁盘组如果是在raid上,划分的磁盘越少越好,磁盘组分布在不同raid上性能好: ...

  3. Vi/Vim基本用法

    Vi/Vim是Linux中一款功能强大的编辑器,vi是Visual Interface的缩写,即可视化接口,vim是vi iMprove的缩写,即 vi的增强版(具有语法着色功能).它在Linux上的 ...

  4. C++关键字:重学记录

    const_cast dynamic_cast explicit

  5. Django REST framework 初识

    一.官网快速实例 quickstart # 安装 RESTful pip install djangorestframework 二.序列化 models.py from django.db impo ...

  6. Mybatis操作Mysql批量更新的一个坑-&allowMultiQueries=true允许批量更新

    前言            利用Mybatis批量更新或者批量插入,实际上即使Mybatis完美支持你的sql,你也得看看你操作的数据库是否完全支持,而同事,最近就遇到这样的一个坑! 问题 先带大家来 ...

  7. ASP.NET误人子弟教程:在MVC下如何返回图片

    这几天忙着一些小事,也没有写什么了,今天,我们来玩一个比较简单的东东.就是在MVC下如何返回图片,相信,在传统WebForm下,大家都晓得怎么弄,方也不限于一种,但是,在架构较为严格的MVC里面,刚开 ...

  8. Pyhon信息采集 - 喜马拉雅专辑歌曲

    目录 Pyhon信息采集 - 喜马拉雅专辑歌曲 Pyhon信息采集 - 喜马拉雅专辑歌曲 setting.py # 喜马拉雅URL XMLY_URL = "https://www.ximal ...

  9. [繁华模拟赛]Evensgn 剪树枝

    Evensgn 剪树枝 题目 繁华中学有一棵苹果树.苹果树有 n 个节点(也就是苹果),n − 1 条边(也就 是树枝).调皮的 Evensgn 爬到苹果树上.他发现这棵苹果树上的苹果有两种:一 种是 ...

  10. [bzoj1901][Zju2112]Dynamic Rankings_主席树

    Dynamic Rankings bzoj-1901 Zju-2112 题目大意:给定一个n个数的序列,m个操作,支持:单点修改:查询区间k小值. 注释:$1\le n,m\le 10^4$. 想法: ...