Java 根據輸入年月顯示對應月份的日曆

2021-08-24 17:48:08 字數 1822 閱讀 1965

不是技術貼,只是記錄貼,,,

主函式:輸入年、月,輸出月份日曆。

public static void main(string args)
因為日曆上面具體月、年是另外的演算法,分開乙個函式,中間虛線和星期是不變的,另外處理。日曆又分為兩部分,上面顯示具體年月日,下面顯示月份日期。類似下圖:

先劃分兩個模組,乙個作為標題,乙個作為主題,如下:

public static void printmonth(int year,int month)
先把簡單的標題部分寫好,乙個月份名字,顯示輸入年份,以及分割線和星期,這裡的空格和長度要對應好顯示的日期,如下: 

public static void printmonthtitle(int year,int month)
年份直接獲取輸入數字即可,月份要轉換一下,將輸入的1-12轉換成對應的英文顯示。

public static string getmonthname(int month) 

return monthname;

}

現在,標題部分就算是可以了,下面是具體日期內容,先是顯示部分,注意一下注釋說的問題,不然報錯如下:

public static void printmonthbody(int year,int month) 

for (int i = 1;i < numberofdaysinmonth + 1;i++)

} system.out.println();

}

這是錯的現象:,日期從0號開始,8月應該有31號的,但是少一天,第一行位置對不齊。

日曆必須知道本月第一天是週幾,從2023年1月1號開始算,通過求餘知道當前是週幾。

public static int getstartday(int year,int month)
這裡還得計算當前輸入時間距離2023年1月1號多少天。

public static int gettotalnumberofdays(int year,int month) 

else

} for (int i = 0;i < month;i++)

return total;

}

月份有大小月,要分開處理大月小月,再統計總的天數。

public static int getnumberofdaysinmonths(int year,int month) 

if ((month == 4) || (month == 6) || (month == 9) || (month == 11))

if (month == 2)

return isleapyear(year) ? 29:28;

return 0;//如果月份錯誤

}

陽曆還有閏年,也要計算,根據是否閏年計算天數

public static boolean isleapyear(int year)
這樣,整個程式就寫完了,效果如圖:

根據使用者輸入的數字,顯示對應星期

根據使用者輸入的數字,顯示對應星期.思路 1.本體符合查表的思想,可以設定乙個方法,讓使用者傳入乙個整型數值,然後在表中查對應的星期幾就可以了.public class whatday else 使用者輸入數值,電腦返回星期幾的漢子提示 param userscan 使用者輸入的字串 public ...

ajax請求 input輸入文字顯示對應的值

今天開啟電腦,朋友說幫忙解決個bug 實現input1框輸入文字,input2顯示input1的val 心想呀這還不簡單,不就是獲取1的val 然後賦值給2不就ok了嗎?有難度?瞬間懷疑他的水平是不是倒退了 然而並沒有那麼簡單 要達到的效果是 通過ajax資料請求,input1中輸入data資料中的...

JAVA獲取目標日期對應的年,月,季度,周時間類

好記性不如爛筆頭 public class timeutil catch exception e return c.gettime 獲得目標日期的,週日 return public date getcurrentweekdayendtime string targetdate catch excep...