請設計一個程式可以印製某一年整年的月曆,請使用者輸入年份及當年第一天(1月1日)是星期幾,其中0代表星期日,1至6分別代表星期一至星期六。範例如下:
import java.util.Scanner;
public class C1
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
//提示使用者輸入年份和當年第一天資訊
System.out.println("使用者輸入:");
int year = input.nextInt();
int a = input.nextInt();
int i;
int count = a + 1;
int space = a;
//印製1月份月曆
//印出月曆抬頭
System.out.println(year+"年1月份");
System.out.println("Sun" + " " + "Mon" + " " + "Tue" + " " + "Wed" +
" " + "Thu" + " " + "Fri" + " " +"Sat");
//印製1月份月曆
//設定該年一月月曆是從星期幾開始
if( a == 1 )
{
System.out.print(" ");
}
if( a == 2)
{
System.out.print(" " + " " );
}
if( a == 3)
{
System.out.print(" " + " " + " " );
}
if( a == 4)
{
System.out.print(" " + " " + " " + " ");
}
if( a == 5)
{
System.out.print(" " + " " + " " + " " + " ");
}
if( a == 6)
{
System.out.print(" " + " " + " " + " " + " " + " ");
}
//印製1月份月曆
//輸出結果
for( i=1 ; i <= 31 ; i++ )
{
if(count % 7 == 1 )
{
System.out.printf("\n%3d",i); //在這裡會換行
}
else if(count % 7 == 0)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 2)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 3)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 4)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 5)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 6)
{
System.out.printf("%5d",i);
}
space = count % 7;
count = count + 1 ;
}
count = space + 1;
System.out.println();//為了換行
//印製2月份月曆
//印出月曆抬頭
System.out.println(year+"年2月份");
System.out.println("Sun" + " " + "Mon" + " " + "Tue" + " " + "Wed" +
" " + "Thu" + " " + "Fri" + " " +"Sat");
//印製2月份月曆
//設定該年二月月曆是從星期幾開始
if( space == 1 )
{
System.out.print(" ");
}
if( space == 2)
{
System.out.print(" " + " " );
}
if( space == 3)
{
System.out.print(" " + " " + " " );
}
if( space == 4)
{
System.out.print(" " + " " + " " + " ");
}
if( space == 5)
{
System.out.print(" " + " " + " " + " " + " ");
}
if( space == 6)
{
System.out.print(" " + " " + " " + " " + " " + " ");
}
//印製2月份月曆
//判斷是否為閏年,為閏年的結果
if(year % 400 == 0 || year % 4 == 0 || year % 100 != 0 )
{
//輸出結果
for( i=1 ; i <= 29 ; i++ )
{
if(count % 7 == 1 )
{
System.out.printf("\n%3d",i); //在這裡會換行
}
else if(count % 7 == 0)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 2)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 3)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 4)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 5)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 6)
{
System.out.printf("%5d",i);
}
space = count % 7;
count = count + 1 ;
}
}
//印製2月份月曆
//判斷是否為閏年,不為閏年的結果
else
{
//輸出結果
for( i=1 ; i <= 28 ; i++ )
{
if(count % 7 == 1 )
{
System.out.printf("\n%3d",i); //在這裡會換行
}
else if(count % 7 == 0)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 2)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 3)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 4)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 5)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 6)
{
System.out.printf("%5d",i);
}
space = count % 7;
count = count + 1 ;
}
}
count = space + 1;
System.out.println();//為了換行
//印製3月份月曆
//印出月曆抬頭
System.out.println(year+"年3月份");
System.out.println("Sun" + " " + "Mon" + " " + "Tue" + " " + "Wed" +
" " + "Thu" + " " + "Fri" + " " +"Sat");
//印製3月份月曆
//設定該年三月月曆是從星期幾開始
if( space == 1 )
{
System.out.print(" ");
}
if( space == 2)
{
System.out.print(" " + " " );
}
if( space == 3)
{
System.out.print(" " + " " + " " );
}
if( space == 4)
{
System.out.print(" " + " " + " " + " ");
}
if( space == 5)
{
System.out.print(" " + " " + " " + " " + " ");
}
if( space == 6)
{
System.out.print(" " + " " + " " + " " + " " + " ");
}
//印製3月份月曆
//輸出結果
for( i=1 ; i <= 31 ; i++ )
{
if(count % 7 == 1 )
{
System.out.printf("\n%3d",i); //在這裡會換行
}
else if(count % 7 == 0)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 2)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 3)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 4)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 5)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 6)
{
System.out.printf("%5d",i);
}
space = count % 7;
count = count + 1 ;
}
count = space + 1;
System.out.println();//為了換行
//印4月份月曆
//印出月曆抬頭
System.out.println(year+"年4月份");
System.out.println("Sun" + " " + "Mon" + " " + "Tue" + " " + "Wed" + " " + "Thu" + " " + "Fri" + " " +"Sat");
//印製4月份月曆
//設定該年四月月曆是從星期幾開始
if( space == 1 )
{
System.out.print(" ");
}
if( space == 2)
{
System.out.print(" " + " " );
}
if( space == 3)
{
System.out.print(" " + " " + " " );
}
if( space == 4)
{
System.out.print(" " + " " + " " + " ");
}
if( space == 5)
{
System.out.print(" " + " " + " " + " " + " ");
}
if( space == 6)
{
System.out.print(" " + " " + " " + " " + " " + " ");
}
//印製4月份月曆
//輸出結果
for( i=1 ; i <= 30 ; i++ )
{
if(count % 7 == 1 )
{
System.out.printf("\n%3d",i); //在這裡會換行
}
else if(count % 7 == 0)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 2)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 3)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 4)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 5)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 6)
{
System.out.printf("%5d",i);
}
space = count % 7;
count = count + 1 ;
}
count = space + 1;
System.out.println();//為了換行
//印製5月份月曆
//印出月曆抬頭
System.out.println(year+"年5月份");
System.out.println("Sun" + " " + "Mon" + " " + "Tue" + " " + "Wed" +
" " + "Thu" + " " + "Fri" + " " +"Sat");
//印製5月份月曆
//設定該年五月月曆是從星期幾開始
if( space == 1 )
{
System.out.print(" ");
}
if( space == 2)
{
System.out.print(" " + " " );
}
if( space == 3)
{
System.out.print(" " + " " + " " );
}
if( space == 4)
{
System.out.print(" " + " " + " " + " ");
}
if( space == 5)
{
System.out.print(" " + " " + " " + " " + " ");
}
if( space == 6)
{
System.out.print(" " + " " + " " + " " + " " + " ");
}
//印製5月份月曆
//輸出結果
for( i=1 ; i <= 31 ; i++ )
{
if(count % 7 == 1 )
{
System.out.printf("\n%3d",i); //在這裡會換行
}
else if(count % 7 == 0)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 2)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 3)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 4)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 5)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 6)
{
System.out.printf("%5d",i);
}
space = count % 7;
count = count + 1 ;
}
count = space + 1;
System.out.println();//為了換行
//印製6月份月曆
//印出月曆抬頭
System.out.println(year+"年6月份");
System.out.println("Sun" + " " + "Mon" + " " + "Tue" + " " + "Wed" +
" " + "Thu" + " " + "Fri" + " " +"Sat");
//印製6月份月曆
//設定該年六月月曆是從星期幾開始
if( space == 1 )
{
System.out.print(" ");
}
if( space == 2)
{
System.out.print(" " + " " );
}
if( space == 3)
{
System.out.print(" " + " " + " " );
}
if( space == 4)
{
System.out.print(" " + " " + " " + " ");
}
if( space == 5)
{
System.out.print(" " + " " + " " + " " + " ");
}
if( space == 6)
{
System.out.print(" " + " " + " " + " " + " " + " ");
}
//印製6月份月曆
//輸出結果
for( i=1 ; i <= 30 ; i++ )
{
if(count % 7 == 1 )
{
System.out.printf("\n%3d",i); //在這裡會換行
}
else if(count % 7 == 0)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 2)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 3)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 4)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 5)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 6)
{
System.out.printf("%5d",i);
}
space = count % 7;
count = count + 1 ;
}
count = space + 1;
System.out.println();//為了換行
//印製7月份月曆
//印出月曆抬頭
System.out.println(year+"年7月份");
System.out.println("Sun" + " " + "Mon" + " " + "Tue" + " " + "Wed" +
" " + "Thu" + " " + "Fri" + " " +"Sat");
//印製7月份月曆
//設定該年七月月曆是從星期幾開始
if( space == 1 )
{
System.out.print(" ");
}
if( space == 2)
{
System.out.print(" " + " " );
}
if( space == 3)
{
System.out.print(" " + " " + " " );
}
if( space == 4)
{
System.out.print(" " + " " + " " + " ");
}
if( space == 5)
{
System.out.print(" " + " " + " " + " " + " ");
}
if( space == 6)
{
System.out.print(" " + " " + " " + " " + " " + " ");
}
//印製7月份月曆
//輸出結果
for( i=1 ; i <= 31 ; i++ )
{
if(count % 7 == 1 )
{
System.out.printf("\n%3d",i); //在這裡會換行
}
else if(count % 7 == 0)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 2)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 3)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 4)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 5)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 6)
{
System.out.printf("%5d",i);
}
space = count % 7;
count = count + 1 ;
}
count = space + 1;
System.out.println(); //為了換行
//印製8月份月曆
//印出月曆抬頭
System.out.println(year+"年8月份");
System.out.println("Sun" + " " + "Mon" + " " + "Tue" + " " + "Wed" +
" " + "Thu" + " " + "Fri" + " " +"Sat");
//印製8月份月曆
//設定該年八月月曆是從星期幾開始
if( space == 1 )
{
System.out.print(" ");
}
if( space == 2)
{
System.out.print(" " + " " );
}
if( space == 3)
{
System.out.print(" " + " " + " " );
}
if( space == 4)
{
System.out.print(" " + " " + " " + " ");
}
if( space == 5)
{
System.out.print(" " + " " + " " + " " + " ");
}
if( space == 6)
{
System.out.print(" " + " " + " " + " " + " " + " ");
}
//印製8月份月曆
//輸出結果
for( i=1 ; i <= 31 ; i++ )
{
if(count % 7 == 1 )
{
System.out.printf("\n%3d",i); //在這裡會換行
}
else if(count % 7 == 0)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 2)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 3)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 4)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 5)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 6)
{
System.out.printf("%5d",i);
}
space = count % 7;
count = count + 1
}
count = space + 1;
System.out.println();//為了換行
//印製9月份月曆
//印出月曆抬頭
System.out.println(year+"年9月份");
System.out.println("Sun" + " " + "Mon" + " " + "Tue" + " " + "Wed" +
" " + "Thu" + " " + "Fri" + " " +"Sat");
//印製9月份月曆
//設定該年九月月曆是從星期幾開始
if( space == 1 )
{
System.out.print(" ");
}
if( space == 2)
{
System.out.print(" " + " " );
}
if( space == 3)
{
System.out.print(" " + " " + " " );
}
if( space == 4)
{
System.out.print(" " + " " + " " + " ");
}
if( space == 5)
{
System.out.print(" " + " " + " " + " " + " ");
}
if( space == 6)
{
System.out.print(" " + " " + " " + " " + " " + " ");
}
//印製9月份月曆
//輸出結果
for( i=1 ; i <= 30 ; i++ )
{
if(count % 7 == 1 )
{
System.out.printf("\n%3d",i);
}
else if(count % 7 == 0)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 2)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 3)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 4)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 5)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 6)
{
System.out.printf("%5d",i);
}
space = count % 7;
count = count + 1 ;
}
count = space + 1;
System.out.println();//為了換行
//印製10月份月曆
//印出月曆抬頭
System.out.println(year+"年10月份");
System.out.println("Sun" + " " + "Mon" + " " + "Tue" + " " + "Wed" +
" " + "Thu" + " " + "Fri" + " " +"Sat");
//印製10月份月曆
//設定該年十月月曆是從星期幾開始 if( space == 1 )
{
System.out.print(" ");
}
if( space == 2)
{
System.out.print(" " + " " );
}
if( space == 3)
{
System.out.print(" " + " " + " " );
}
if( space == 4)
{
System.out.print(" " + " " + " " + " ");
}
if( space == 5)
{
System.out.print(" " + " " + " " + " " + " ");
}
if( space == 6)
{
System.out.print(" " + " " + " " + " " + " " + " ");
}
//印製10月份月曆
//輸出結果
for( i=1 ; i <= 31 ; i++ )
{
if(count % 7 == 1 )
{
System.out.printf("\n%3d",i); //在這裡會換行
}
else if(count % 7 == 0)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 2)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 3)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 4)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 5)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 6)
{
System.out.printf("%5d",i);
}
space = count % 7;
count = count + 1 ;
}
count = space + 1;
System.out.println(); //為了換行
//印製11月份月曆
//印出月曆抬頭
System.out.println(year+"年11月份");
System.out.println("Sun" + " " + "Mon" + " " + "Tue" + " " + "Wed" +
" " + "Thu" + " " + "Fri" + " " +"Sat");
//印製11月份月曆
//設定該年十一月月曆是從星期幾開始
if( space == 1 )
{
System.out.print(" ");
}
if( space == 2)
{
System.out.print(" " + " " );
}
if( space == 3)
{
System.out.print(" " + " " + " " );
}
if( space == 4)
{
System.out.print(" " + " " + " " + " ");
}
if( space == 5)
{
System.out.print(" " + " " + " " + " " + " ");
}
if( space == 6)
{
System.out.print(" " + " " + " " + " " + " " + " ");
}
//印製11月份月曆
//輸出結果
for( i=1 ; i <= 30 ; i++ )
{
if(count % 7 == 1 )
{
System.out.printf("\n%3d",i); //在這裡會換行
}
else if(count % 7 == 0)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 2)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 3)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 4)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 5)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 6)
{
System.out.printf("%5d",i);
}
space = count % 7;
count = count + 1 ;
}
count = space + 1;
System.out.println(); //為了換行
//印製12月份月曆
//印出月曆抬頭
System.out.println(year+"年12月份");
System.out.println("Sun" + " " + "Mon" + " " + "Tue" + " " + "Wed" +
" " + "Thu" + " " + "Fri" + " " +"Sat");
//印製12月份月曆
//設定該年十二月月曆是從星期幾開始
if( space == 1 )
{
System.out.print(" ");
}
if( space == 2)
{
System.out.print(" " + " " );
}
if( space == 3)
{
System.out.print(" " + " " + " " );
}
if( space == 4)
{
System.out.print(" " + " " + " " + " ");
}
if( space == 5)
{
System.out.print(" " + " " + " " + " " + " ");
}
if( space == 6)
{
System.out.print(" " + " " + " " + " " + " " + " ");
}
//印製12月份月曆
//輸出結果
for( i=1 ; i <= 31 ; i++ )
{
if(count % 7 == 1 )
{
System.out.printf("\n%3d",i); //在這裡會換行
}
else if(count % 7 == 0)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 2)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 3)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 4)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 5)
{
System.out.printf("%5d",i);
}
else if(count % 7 == 6)
{
System.out.printf("%5d",i);
}
space = count % 7;
count = count + 1 ;
}
}
}
沒有留言:
張貼留言