从键盘输入一个月份,屏幕上输出本年这个月的月历,每星期一行,从星期日开始,到星期六结束

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 date = sc.nextInt();

Calendar c = Calendar.getInstance();
c.set(year,month-1,1);

int week=c.get(Calendar.DAY_OF_WEEK);
int max=c.getActualMaximum(Calendar.DATE);
System.out.println("这个月1号在星期"+week);
System.out.println("这个月共有"+max+"天");

System.out.println(year+"年"+month+"月的月历为:");
System.out.println("日\t一\t二\t三\t四\t五\t六\t");

for(int j=1;j<week;j++){
System.out.print(" ");
System.out.print("\t");
}

int tag=week;
for(int i=1;i<=max;i++){
System.out.print(i);
System.out.print("\t");

if(tag%7==0){
System.out.print("\n");
}
tag++;
}
}

方法为网上借鉴,原本写的太low了,下面这个是自己写的(笑哭)
public int MonthlyCalendar(int m){
if(m==4||m==6||m==9||m==11)
return 30;
else if(m==2)
return 29;
else
return 31;

}
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
System.out.println("请输入您需要查看的月历的月份:");
int m = sc.nextInt();
Date d=new Date();
int M=d.MonthlyCalendar(m);
System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int i=1;i<=M;i++){
System.out.print(i+"\t");
if(i%7==0)
System.out.print("\n");
}

}

猜你喜欢

转载自www.cnblogs.com/gaoting/p/12749520.html
今日推荐