以下代碼是本人原創,主要建了一個類,用了兩個for循環即可完成,So easy!
- package Calender;
- import java.util.*;
- public class PrintCalender {
- public static void main(String[] args) {
- int a;//用於接收用戶輸入的月份
- int index;//星期
- int y;//年份
- Scanner input=new Scanner(System.in);
- System.out.println("輸入年:");
- y=input.nextInt();
- int b=28;
- if(y%4==0&&y%100!=0||y%400==0){
- b=29;//如果是閏年,2月有29天
- }
- int[] m=new int[]{31,b,31,30,31,30,31,31,30,31,30,31};//每月天數的數組
- System.out.println("請輸入月份:");
- a=input.nextInt();
- //判斷每個月的第一天是星期幾
- int sum=0;
- for(int i=1;i<=a-1;i++){
- sum=sum+m[a-i];
- }
- index=(sum+6)%7;
- //輸出
- int s=0;//控制每行的個數
- System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
- for(int i=(1-index);i<=m[a-1];i++){
- if(i<1){
- System.out.print("\t");
- }else{
- System.out.print(i+"\t");
- }
- s++;
- if(s%7==0){
- System.out.println();
- }
- }
- }
- }