導航:首頁 > 編程語言 > java萬年歷代碼

java萬年歷代碼

發布時間:2024-12-06 07:14:17

『壹』 編寫 萬年歷java代碼例如1900年一月一日是星期一。

importjava.util.Calendar;
importjava.util.Date;
importjava.util.Scanner;

publicclassMyCalendar
{
publicstaticvoidmain(String[]args)
{
Scannerscanner=newScanner(System.in);
Stringreg="^(\d+)[^\d]+((0?[1-9])|(1[012]))$";
while(true)
{
System.out.println("輸入年月(年和月用非數字隔開:如2015.1)(什麼都不輸入直接退出)");
Stringline=scanner.nextLine().trim();
if("".equals(line))
{
scanner.close();
break;
}
if(!line.matches(reg))
{
continue;
}
intyear=Integer.parseInt(line.replaceAll(reg,"$1"));
intmonth=Integer.parseInt(line.replaceAll(reg,"$2"));
System.out.println("日 一 二 三 四 五 六");
Calendarcalendar=Calendar.getInstance();
//這個月的1號是星期幾
calendar.set(year,month-1,1);
intday=calendar.get(Calendar.DAY_OF_WEEK);
intstart=Calendar.SUNDAY;
calendar.add(Calendar.DATE,-day+start);
while(start<day)
{
System.out.print(calendar.get(Calendar.DATE)+" ");
calendar.add(Calendar.DATE,1);
start++;
}
calendar.set(year,month-1,1);
Datenow=calendar.getTime();
calendar.set(year,month,1);
Datenext=calendar.getTime();
for(Datecur=now;cur.before(next);)
{
calendar.setTime(cur);
intx=calendar.get(Calendar.DATE);
Stringtmp=x<10?"0"+x:x+"";
System.out.print(tmp+" ");
if(calendar.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY)
{
System.out.println();
}
calendar.add(Calendar.DATE,1);
cur=calendar.getTime();
}
calendar.add(Calendar.DATE,-1);
intto=calendar.get(Calendar.DAY_OF_WEEK);
intend=Calendar.SATURDAY;
while(to<end)
{
calendar.add(Calendar.DATE,1);
intx=calendar.get(Calendar.DATE);
Stringtmp=x<10?"0"+x:x+"";
System.out.print(tmp+" ");
to++;
}
System.out.println();
}
}
}

『貳』 java程序的萬年歷編程代碼

public static void main(String[] args) {
calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 2012);
calendar.set(Calendar.MONTH,1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
int first = calendar.get(Calendar.DAY_OF_WEEK) - 1;
System.out.println(calendar.get(Calendar.YEAR) + "年"
+ (calendar.get(Calendar.MONTH) + 1) + "月萬年歷");
System.out.println("日\t一\t二\t三\t四\t五\t六");
for (int i = 0; i < first; i++) {
System.out.print("\t");
}
int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
for (int i = 0; i < maxDay; i++) {
if (first / 7 == 1) {
first = 0;
System.out.println();
}
System.out.print(i + 1
+ (first / 6 == 1 || i == maxDay - 1 ? "" : "\t"));
first++;
}
}

『叄』 java中,一段萬年歷代碼,跑起來總是差4天,修改之後也只能讓一部分月份的顯示正確,代碼如下

我改造了一下你的代碼 :

packagecom.mikuma.calendar;

importjava.util.GregorianCalendar;
importjava.util.Scanner;

publicclassCalendar{

publicstaticvoidmain(String[]args){
intyear=0;
intmonth=0;

Scannerscanner=newScanner(System.in);
System.out.println("請輸入您要查詢的年份");

year=scanner.nextInt();

System.out.println("請輸入您要查詢的月份");
while(true){
month=scanner.nextInt();
if(month<0||month>12){
System.out.println("月份輸入有誤,請重新輸入");
}else{
break;
}
}
printPermanentCalendar(year,month);

}

/**
*輸出萬年歷
*
*@paramyear
*@parammonth
*/
(intyear,intmonth){
intdays=0;

inttotaldays=0;//獲取1990年至查詢的年份的天數
for(inti=1900;i<year;i++){
totaldays=totaldays+(isLeapYear(i)?366:365);
}

intbeforedays=0;//到指定月份的天數
for(inti=1;i<=month;i++){
switch(i){
case1:
case3:
case5:
case7:
case8:
case10:
case12:
days=31;
break;

case4:
case6:
case9:
case11:
days=30;
break;

case2:
days=isLeapYear(year)?29:28;
break;
default:
break;
}
if(i<month){
beforedays=beforedays+days;
}
}

totaldays=totaldays+beforedays;//總計天數,以判斷周幾;

intweekDay=0;
inttemp=(1+totaldays)%7;

if(temp==0){//1990年1月1日星期一,據此日0天星期一,以此類推
weekDay=0;
}else{
weekDay=temp;
}

System.out.println("星期日 星期一 星期二 星期三 星期四 星期五 星期六");

for(inti=0;i<weekDay;i++){
System.out.print(" ");
}

for(inti=1;i<=days;i++){
System.out.print(i+" ");
if((totaldays+i)%7==6){
System.out.print(" ");
}
}
}

(intyear){
returnnewGregorianCalendar().isLeapYear(year);
}

}



運行:



也是正確

閱讀全文

與java萬年歷代碼相關的資料

熱點內容
6s用哪個版本好 瀏覽:324
數控編程怎麼來的 瀏覽:103
廣西廣電網路的默認ip 瀏覽:191
政府發紅頭文件內容會實現嗎 瀏覽:552
騰訊貴安七星數據中心英文怎麼寫 瀏覽:489
玩火的女孩有幾個版本 瀏覽:113
tvshowtracker安卓版 瀏覽:983
App數據分析應該從哪些緯度 瀏覽:17
到底要不要升級ios92 瀏覽:875
cad2014安裝包安裝文件在哪裡 瀏覽:63
電信密碼無法登錄 瀏覽:820
cad的列印到文件怎麼設置 瀏覽:902
智行app鉑金會員怎麼還有期限 瀏覽:581
win10用子文件夾改名 瀏覽:234
ae鋼筆工具在哪裡 瀏覽:460
gn105數據線插哪裡 瀏覽:916
破鎖屏密碼方法 瀏覽:835
股票數據放哪裡 瀏覽:576
m格式庫文件 瀏覽:279
天際通數據服務怎麼開票 瀏覽:430

友情鏈接