1. 程式人生 > >java用for迴圈寫一個日曆

java用for迴圈寫一個日曆

package sort;

import java.util.Scanner;

public class fuhuo1 {
	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;
		for(int i=1900;i<year;i++){
			if(i%4==0&&i%100!=0||i%400==0){
				sum=sum+366;
			}else{
				sum=sum+365;
			}
		}
		for(int i=1;i<month;i++){
			if(i==2){
				if(i%4==0&&i%100!=0||i%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;
				}
			}
		}
		sum=sum+1;
		int weekday=sum%7;
		System.out.println("日\t一\t二\t三\t四\t五\t六");
		for(int i=1;i<=weekday;i++){
			System.out.print("\t");
		}
		if(month==2){
			if(year%4==0&&year%100!=0||year%400==0){
				for(int i=1;i<=29;i++){
					if((sum)%7==6){
					System.out.print(i+"\n");
					}else{
						System.out.print(i+"\t");
					}
					sum++;
				}
			}else{
				for(int i=1;i<=28;i++){
					if((sum)%7==6){
						System.out.print(i+"\n");
						}else{
							System.out.print(i+"\t");
						}
					sum++;
			}
		}
			}else{
			if(month==4||month==6||month==9||month==11){
				for(int i=1;i<=30;i++){
					if((sum)%7==6){
						System.out.print(i+"\n");
						}else{
							System.out.print(i+"\t");
						}
					sum++;
			}
				}else{
				for(int i=1;i<=31;i++){
					if((sum)%7==6){
						System.out.print(i+"\n");
						}else{
							System.out.print(i+"\t");
						}
					sum++;
				}
			}
		}
	}
}