日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

java调用系统时间函数_JAVA自学笔记:不使用系统函数来计算日期处于当年的第多少天...

發(fā)布時(shí)間:2023/11/27 生活经验 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java调用系统时间函数_JAVA自学笔记:不使用系统函数来计算日期处于当年的第多少天... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前段時(shí)間練習(xí)了一個(gè)求閏年的功能,現(xiàn)在就可以用上啦,這次寫一個(gè)不借助類庫的時(shí)間函數(shù),利用基礎(chǔ)代碼寫一個(gè)計(jì)算求日期處于當(dāng)年的第多少天的函數(shù)。

雖然也有簡單的方法,例如直接定義每月的天數(shù)累加,然后加上當(dāng)月的天數(shù)就可以算出當(dāng)天處于當(dāng)年的第多少天。但是這次咋們還是換種方法,雖然麻煩點(diǎn),但好歹帶點(diǎn)邏輯性。

首先我們需要一個(gè)數(shù)組,專門來存放指定年份的日歷天數(shù)(必須自帶閏年檢測(cè)啦,不然二月份天數(shù)就不好算啦)。這里我們就新建一個(gè)函數(shù)好了,利用for循環(huán)和if判斷,來按照月份的大小月規(guī)則來存放每月天數(shù),然后讓這個(gè)函數(shù)返回int數(shù)組值。

接下來就是輸入輸出啦,按照慣例,我們還是添加了輸入格式檢錯(cuò)的功能,月份肯定不會(huì)超過12或者小余1的吧,天數(shù)也不能超過當(dāng)月的天數(shù),不然要報(bào)錯(cuò)重新輸入。

接下來直接利用for循環(huán)給總天數(shù)值days累加,例如7月8號(hào),那么就是7月前(不包括7月)月份的所有天數(shù),加上7月當(dāng)月的day日期,即可得出總天數(shù)。

下面來看看代碼吧:

import java.util.Scanner;

public class Test010 {

public static void main(String args[]){

Test010 t10=new Test010();

int days=0;

Scanner reader=new Scanner(System.in);

System.out.print("請(qǐng)輸入年份:");

int year=reader.nextInt();

int[] monthA=t10.calendar(year);

System.out.print("請(qǐng)輸入月份:");

int month=reader.nextInt();

System.out.print("請(qǐng)輸入當(dāng)月日期:");

int day=reader.nextInt();

while(true){

if(month>12||month<1){

System.out.print("月份格式錯(cuò)誤,請(qǐng)重新輸入:");

month=reader.nextInt();

continue;

}else if(day>monthA[month]||day<1){

System.out.print("日期范圍錯(cuò)誤,請(qǐng)重新輸入:");

day=reader.nextInt();

continue;

}else{

break;

}

}

for(int i=1;i

days+=monthA[i];

}

days+=day;

System.out.printf("%d年%d月%d日是當(dāng)年的第%d天",year,month,day,days);

}

public int[] calendar(int year){?? ?//當(dāng)年日歷

int monthA[]=new int[13];

for(int i=1;i

if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){

monthA[i]=31;

}else if(i==4||i==6||i==9||i==11){

monthA[i]=30;

}else{

if(year%4==0 && year%100!=0 || year%400==0){

monthA[i]=29;

}else{

monthA[i]=28;

}

}

}

return monthA;

}

}

總結(jié)

以上是生活随笔為你收集整理的java调用系统时间函数_JAVA自学笔记:不使用系统函数来计算日期处于当年的第多少天...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。