標籤:amp new pac case lda java sys count 閏年
呀!忙碌的每一天,都忘記了明天就是我們愉快周末了。今天沒有朋友的閑聊的話,明天處在繃緊的狀態呢!還有朋友提到,所有今天來跟大家分享一下用java來編寫日曆表,累了想休息了的時候,開啟看看,還有幾天到周末!那麼我們來看一下代碼,具體怎麼實現吧!
public class Demo6 {
public static void main(String[] args) {
Demo6 demo = new Demo6();
demo.show(2016,11); //輸入年和月份
}
//定義一個方法:判斷是平年還是閏年
public boolean isLeapYear(int year) {
if (year%400==0 || (year%4==0 && year%100 !=0)) {
return true;
}
return false;
}
//計算輸入年份,月份的總天數
public int getTotalDateFrom(int year, int month) {
int totalDate = 0;
for (int i = 1900; i < year; i++) {
//判斷是閏年還是平年
if (isLeapYear(year)) {
totalDate += 366;
}else{
totalDate += 365;
}
}
//計算2月份的天數
for (int i = 1; i < month; i++) {
totalDate += getDayOfMonth(year, month);
}
return totalDate;
}
//返回一個天數
public int getDayOfMonth(int year,int month) {
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 4:
case 9:
case 11:
return 30;
case 2:
if (isLeapYear(year)) {
return 29;
} else {
return 28;
}
default:
return 30;
}
}
public int printSpace(int year, int month){
return getTotalDateFrom(year, month)%7;
}
public void print(int year, int month){
int countSpac = printSpace(year, month)+1; //空格的個數
int coun = 0; //定義一個計數
for (int i = 0; i < countSpac; i++) {
coun ++;
System.out.print("\t");
}
//列印日期
for (int i = 0; i < getDayOfMonth(year, month); i++) {
if (coun % 7 == 0) {
System.out.println();
}
coun++;
System.out.print(i+"\t");
}
}
public void show(int year, int month){
System.out.println(" **************"+year+"******"+month+"***************");
System.out.println("=======================================================");
System.out.println("日\t一\t二\t三\t四\t五\t六");
System.out.println("=======================================================");
print(year, month);
System.out.println();
}
}
實現效果如下:
用java製作日曆,想休息的時候看一看離周末還有幾天!