import java.util.Calendar
import java.util.Scanner
public class Test {
static public void main(String 参数[]){
Calendar c = Calendar.getInstance()
Scanner sc = new Scanner(System.in)
System.out.println("请输入年份:")
int year= sc.nextInt()
c.set(Calendar.YEAR, year)
c.set(Calendar.MONTH, Calendar.JANUARY)
c.set(Calendar.DAY_OF_MONTH, 1)
while(c.get(Calendar.YEAR)==year){
int wday=c.get(Calendar.DAY_OF_WEEK)
int mday=c.get(Calendar.DAY_OF_MONTH)
if(mday==1){
System.out.println("\n日\t一\t二\t三\t四\t五\t六\t第"+(c.get(Calendar.MONTH)+1)+"月")
System.out.println("---------------------------------------------------")
for(int i=0i<wday-1i++) System.out.print(" \t")
}
System.out.print(mday+"\t")
if(wday==7) System.out.println()
c.add(Calendar.DAY_OF_YEAR, 1)
}
}
}
=======
请输入年份:
2012
日 一 二 三 四 五 六 第1月
---------------------------------------------------
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
日 一 二 三 四 五 六 第2月
---------------------------------------------------
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29
日 一 二 三 四 五 六 第3月
---------------------------------------------------
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
日 一 二 三 四 五 六 第4月
---------------------------------------------------
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
日 一 二 三 四 五 六 第5月
---------------------------------------------------
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
日 一 二 三 四 五 六 第6月
---------------------------------------------------
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
日 一 二 三 四 五 六 第7月
---------------------------------------------------
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
日 一 二 三 四 五 六 第8月
---------------------------------------------------
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
日 一 二 三 四 五 六 第9月
---------------------------------------------------
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
日 一 二 三 四 五 六 第10月
---------------------------------------------------
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
日 一 二 三 四 五 六 第11月
---------------------------------------------------
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
日 一 二 三 四 五 六 第12月
---------------------------------------------------
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
输入本年的某个月后,屏幕输出这个月的月历,每星期一行,从星期日开始,到星期六结束。import java.util.*
public class Year{
/**
*判断是否为闰年
*/
public boolean getIsRun(int year){
if((year%4==0 &&year %100 !=0)||(year%400==0)){
return true
}
return false
}
/**
*返回某年某月有多少天。
*/
public int getDay(int year ,int month){
int[] day={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}//闰年月份
int[] day1={31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}//普通月份
if(this.getIsRun(year)){
return day[month+1]
}else{
return day1[month+1]
}
}
/**
*返回这个月的1号是星期几
*/
public int getWeek(int year,int month){
Date date=new Date()
date.setYear(year)
date.setMonth(month)
Calendar calendar=Calendar.getInstance()
calendar.setTime(date)
return calendar.get(calendar.DAY_OF_WEEK)
}
/**
*打印出来,嘎嘎
*/
public void showPrint(int year,int month){
int day=this.getDay(year,month)
int week=this.getWeek(year,month)
System.out.println("日\t一\t二\t三\t四\t五\t六\n")
for(int i=0i<=weeki++){//
System.out.print (" \t")
}
for(int j=1j<=dayj++){
if((j+week)%7==0){
System.out.println ()
}
System.out.print (j+"\t")
}
// System.out.println(week)
}
public static void main(String[] args){
Year y=new Year()
y.showPrint(2008,3)
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)