输出日历
概念:
输出类似的日历
方法:
1.判断输入年份
2.判断输入月份
3.计算该年该月到1990年1月1日的天数
4.通过天数判断该月的1号是周几
5.通过循环和判断控制打印输出
java代码实现:
import java.util.Scanner;
public class day03a {
public static void main(String[] args) {
int year;
int month;
int days;
int date = 0;
int date2 = 0;
int day2 = 0;
int day3 = 0;
int weekday = 0;
int monday;
Scanner input = new Scanner(System.in);
System.out.println("请输入年份: ");
year = input.nextInt();
System.out.println("请输入月份: ");
month = input.nextInt();
switch(month){
case 2:
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
monday = 29;
}else{
monday = 28;
}break;
case 4:
case 6:
case 9:
case 11:
monday = 30;
break;
default:
monday = 31;
break;
}
for(int i = 1990;i < year;i ++){
if(i % 4 == 0 && i % 100 != 0 || i % 400 == 0){
date++;
}else{
date2++;
}
day2 = 366*date + 365*date2;
}
for(int j = 1;j < month;j++){
switch(j){
case 2:
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
day3 += 29;
}else{
day3 += 28;
}break;
case 4:
case 6:
case 9:
case 11:
day3 += 30;
break;
default:
day3 += 31;
break;
}
}
days = day2 + day3;
weekday = (days) % 7;
System.out.println("一\t二\t三\t四\t五\t六\t日");
for(int n = 1;n <= weekday;n++){
System.out.printf("\t");
}
for(int m = 1;m <= 7-weekday;m++){
System.out.printf(m + "\t");
}
System.out.println();
for (int i = 8 - weekday; i <= monday; i++) {
System.out.print(i + "\t");
if ((i + weekday) % 7 == 0) {
System.out.println();
}
}
}
}