資源簡介
JAVA課程設計 打印日歷 GUI 完整代碼
代碼片段和文件信息
package?calendar1;
/*通過用戶的輸入某年某月是以星期幾開頭
?*?輸出當年每一個月的日歷*/
import?java.util.Scanner;
public?class?Calendar?{
public?static??void?main(String[]?args){
Scanner?input?=?new?Scanner(System.in);
System.out.println(“Enter?year“);
int?year?=?input.nextInt();
System.out.println(“Enter?month?between?1?and?12“);
int?month?=?input.nextInt();
while(?month??1&&?month?>?12)
System.out.println(“illegal?month?please?enter?again“);
System.out.println(“Enter?the?first?day?index?1~7“);
int?day?=?input.nextInt();
makeMonth(yearmonthday);
}
//建立這年的日歷
public?static?void?makeMonth(int?yearint?monthint?day){
int?StartDay?=?getStartDay(yearmonthday);
for(int?i?=?1;?i?<=?12;?i++)
StartDay?=?printMonth(StartDayyeari);
}
//輸出當月日歷
public?static?int?printMonth(int?StartDayint?yearint?month){
printtitle(yearmonth);
return?printMonthBody(StartDayyearmonth);
}
//輸出日歷開頭
public?static?void?printtitle(int?yearint?month){
System.out.println(“?????????“?+?getMonthName(month)
+?“?“?+?year);
System.out.println(“-----------------------------“);
System.out.println(“?Sun?Mon?Tue?Wed?Thu?Fri?Sat“);
}
//輸出月份體
public?static?int?printMonthBody(int?startDayint?yearint?month){
int?NumberOfDaysInMonth?=?getNumberOfDaysInMonth(yearmonth);
int?i?=?0;?
for(;i? System.out.print(“????“);
for(i?=?1;i?<=?NumberOfDaysInMonth;i++){
System.out.printf(“%4d“i);
if((i?+?startDay)?%?7?==?0)
System.out.println();
}
System.out.println();
return?(startDay?+?NumberOfDaysInMonth)?%?7;//計算下一個月的開始天數
}
//get?the?English?name?for?the?month
public?static?String?getMonthName(int?month){
String?monthName?=?““;
switch(month){
case?1:?monthName?=?“January“;break;
case?2:?monthName?=?“February“;break;
case?3:?monthName?=?“March“;?break;
case?4:?monthName?=?“April“;break;
case?5:?monthName?=?“May“;break;
case?6:?monthName?=?“June“;break;
case?7:?monthName?=?“July“;break;
case?8:?monthName?=?“August“;break;
case?9:?monthName?=?“September“;break;
case?10:?monthName?=?“October“;break;
case?11:?monthName?=?“November“;break;
case?12:?monthName?=?“December“;
}
return?monthName;
}
//得到當前月的天書
public?static?int?getNumberOfDaysInMonth(int?yearint?month){
if(month?==?1?||?month?==?3?||?month?==?5?||?month?==?7
||?month?==?8?||?month?==?10?||?month?==?12)
return?31;
if(month?==?4?||?month?==?6?||?month?==?9?||?month?==?11)
return?30;
if(month?==?2)return?isLeapYear(year)??29:?28;
return?0;
}
?//判斷是否是閏年
public?static?boolean?isLeapYear(int?year){
return?year?%?400?==?0?||?(year?%?4?==?0?&&?year?%?100?!=?0);
}
//的到當年第一天的位置
public?static?int?getStartDay(int?yearint?monthint?day){
int?frontDays?=?0;
for(int?i?=?0?;?i? frontDays?+=?getNumberOfDaysInMonth(yeari);
}
re
評論
共有 條評論