初学Java,写了个日历,无话
//简单日历制作
import java.util.Scanner;
public class Calendar{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请输入年份:");
int year=in.nextInt();
System.out.println("请输入月份:");
int month=in.nextInt();
int sum=0;//sum表示输入的这个月的1月1号和1900年1月1号相距的天数
for(int i=1900;i<year;i++){//判断是否闰年累加sum
if(i%4==0&&i%100!=0||i%400==0){
sum=sum+366;
}
else{
sum=sum+365;
}
}
for(int i=1;i<month;i++){//判断月份哪种类型累加sum
if(i==2){
if(year%4==0&&year%100!=0||year%400==0){
sum=sum+29;
}
else{
sum=sum+28;
}
}
else {
if(i==4||i==6||i==9||i==11){
sum=sum+30;
}
else{
sum=sum+31;
}
}
}
System.out.println("日\t一\t二\t三\t四\t五\t六");
int t;//t表示当前月份的天数
if(month==2){
if(year%4==0&&year%100!=0||year%400==0){
t=29;
}
else{
t=28;
}
}
else{
if(month==4||month==6||month==9||month==11){
t=30;
}
else{
t=31;
}
}
sum=sum+1;//由于1900年1月1号那天恰巧是星期一,而我们计算按每周第一天为星期日,所以sum+1
for(int i=1;i<=sum%7;i++){//日历第一行前面的空白
System.out.print("\t");
}
for(int i=1;i<=t;i++){//从这个月1号开始画日历,逢六换行
if(sum%7==6){
System.out.print(i+"\n");
}
else{
System.out.print(i+"\t");
}
sum++;//画好一天,sum要+1,画下一天
}
}
}
本文介绍了一个使用Java编写的简单日历程序。该程序通过用户输入的年份和月份,计算并显示对应的日历。程序考虑了不同月份的天数及闰年情况,通过累加天数来确定每月第一天是周几。
763

被折叠的 条评论
为什么被折叠?



