日历制作

 1 package Format_daqo;
 2
 3 import java.util.Calendar;
 4 import java.util.Scanner;
 5
 6 public class calendar_wh {
 7     public static void main(String[] args){
 8         Scanner sc=new Scanner(System.in);
 9         System.out.println("请输入年份:");
10         int year=sc.nextInt();
11         System.out.println("请输入月份:");
12         int month=sc.nextInt();
13         System.out.println("请输入天数:");
14         int day=sc.nextInt();
15
16         Calendar cal=Calendar.getInstance();
17         cal.set(year,month-1,1);//设置为该月的第一天
18
19         String[][] arr=new String[7][7];
20         arr[0][0]="星期天";
21         arr[0][1]="星期一";
22         arr[0][2]="星期二";
23         arr[0][3]="星期三";
24         arr[0][4]="星期四";
25         arr[0][5]="星期五";
26         arr[0][6]="星期六";
27
28         //获取输入月份的第一天是星期几
29         int x=cal.get(Calendar.DAY_OF_WEEK);//1代表星期天,2代表星期一...
30         //获取月份
31         int m=cal.get(Calendar.MONTH)+1;
32         //获取指定年月的最大天数
33         int mdays = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
34
35         int d=1;
36         for (int i = 1; i < arr.length;i++) {//给二维数组赋值
37             for (int j = 0; j < arr.length;j++) {
38                 //第二行的数组中,小于指定月份的第一天周几的前几天或大于本月的最大天数均赋值为空
39                 if((i==1&&j<(x-1))||(d>mdays)){
40                     arr[i][j]="";
41                 //第二行的数组中,给本月的第一天周几赋值为1
42                 }else if(i==1&&j==(x-1)){
43                     arr[i][j]=d+"";
44                     d++;
45                 //第二行数组中,本月第一天之后,若指定天数不在第二行的依次赋值
46                 }else if(i==1&&j>(x-1)&&d!=day){
47                     arr[i][j]=d+"";
48                     d++;
49                 //第二行数组中,本月第一天之后,若指定天数在第二行的话,赋值*和天数
50                 }else if(i==1&&j>(x-1)&&d==day){
51                     arr[i][j]="*"+d+"";
52                     d++;
53                 //第二行数组以外,有与指定的天数相同的话,赋值*和天数
54                 }else if(d==day){
55                     arr[i][j]="*"+d+"";
56                     d++;
57                 //没有相同的天数,依次赋值天数
58                 }else{
59                     arr[i][j]=d+"";
60                     d++;
61                 }
62             }
63         }
64
65         for (int i = 0; i < arr.length; i++) {
66             for (int j = 0; j < arr.length; j++) {
67                 System.out.print(arr[i][j]+"\t");
68             }
69             System.out.println();
70         }
71     }
72 }
 1 请输入年份:
 2 2016
 3 请输入月份:
 4 9
 5 请输入天数:
 6 21
 7 星期天    星期一    星期二    星期三    星期四    星期五    星期六
 8                             1        2        3
 9 4        5        6         7        8        9        10
10 11       12       13        14       15       16       17
11 18       19       20       *21       22       23       24
12 25       26       27        28       29       30
13                             
时间: 2024-12-16 14:57:30

日历制作的相关文章

使用sharepoint2010 分组日历制作会议室预订系统

近期由于会议较多,各部门之间使用会议室时间冲突频繁发生,使沟通成本明显增加.为了规范 化管理会议室资源,提高会议效率,降低沟通成本,上线一套会议室管理系统势在必行. 现有生产环境中,拥有微软的sharepoint系统,而sharepoint 2010的分组日历功能支持用户预订会 议室和视听设备等资源.所以最先考虑使用sharepoint的内在资源预订功能.其他开源软件系统诸如 mrbs等暂不考虑,之后可以考虑部署mrbs和sharepoint两套系统对比一下. 配置sharepoint 资源预订

每天一个JS 小demo之日历制作。主要知识点:日期函数和对于函数封装的灵活运用

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> td { text-align: center; } </style></head> <body> <p> <select id="yearS

HTML 简单日历制作方法

新手一枚,不会写什么高大上的博文,一些平时做的小练习,献丑 1 <!doctype html> 2 <html> 3 4 <head> 5 <meta charset="utf-8"> 6 <title>无标题文档</title> 7 <style> 8 * {margin: 0;padding: 0} 9 #calendar {width: 210px;margin: 100px auto;overf

JS日历制作获取时间

1.直接获取 var myDate = new Date(); myDate.getYear(); 获取当前年份(2位) myDate.getFullYear(); 获取完整的年份(4位,1970-????) myDate.getMonth(); 获取当前月份(0-11,0代表1月) myDate.getDate(); 获取当前日(1-31) myDate.getDay();  获取当前星期X(0-6,0代表星期天) myDate.getTime();   获取当前时间(从1970.1.1开始的

数据表格应该被完全抛弃吗?

有人说,数据表格会使页面变的臃肿不堪,所以应该完全抛弃掉他们,但是,有的时候,表格的用处显然是极大的.HTML提供了许多表格的属性,以做一个日历为例,在这进行总结一下. summary和caption.caption指表格标题,summary类似于图片的ALT属性,用于描述表格的内容. thead.tbody和tfoot.三个标签可以将表格分成几个逻辑部分,以便于对某一个特殊区域运用特殊样式,一个表格中只可以使用一个thead和tfoot,而可以使用多个tbody. col和colgroup,我

浅谈项目管理机制

一.项目及项目管理 1.什么是项目 要讨论项目管理,就必须首先理解项目这个概念.项目是为完成某一独特的产品或服务所做的一次性努力.项目一般要涉及一些人员,由这些人员完成一些相互关联的活动,项目发起人通常希望能够在最有效地利用资源的基础上,及时.高效地完成项目任务. 2.什么是项目管理 项目管理是指"在项目活动中运用专门的知识.技能.工具和方法,使项目能够实现或超过项目干系人的需要和期望."这一定义不仅仅是强调使用专门的知识和技能,还强调项目管理中各参与人的重要性.项目经理不仅仅要努力实

结合JDK源码看设计模式——简单工厂、工厂方法、抽象工厂

三种工厂模式的详解: 简单工厂模式: 适用场景:工厂类负责创建的对象较少,客户端只关心传入工厂类的参数,对于如何创建对象的逻辑不关心 缺点:如果要新加产品,就需要修改工厂类的判断逻辑,违背软件设计中的开闭原则,且产品类多的话,就会使得简单工厂类比较复杂 在jdk源码中的具体实例(注意看代码中的中文注释) private static Calendar createCalendar(TimeZone zone,Locale aLocale) { CalendarProvider provider

制作可视化日历,输入日期得到当月 月历表

import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Scanner; /** * 制作可视化日历,输入日期得到当月 月历表 * */ public class CalendarDemo { public static voi

利用avalon+原生js来制作日历空间(一)

url:http://zjingwen.github.io/SetTimeOutGoBlog/funui/fundate/index.html (如果打开过慢,或者打不开,原因你懂得.)一.思路 1.制作日历这种ui组件,我们第一步需要拿到的就是数据,我们需要知道例如今天属于,那一年.那一月.星期几. 2.数据的呈现形式应该是什么样子的,以我制作的这个为例,理性分析,以图为例,6X7的格子,我们要获得42个数据,其中当月数据占数组的中间,下月数据占数组的尾部,上月数据占数组的头部. 那么问题来了