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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

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

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

前段時間練習了一個求閏年的功能,現在就可以用上啦,這次寫一個不借助類庫的時間函數,利用基礎代碼寫一個計算求日期處于當年的第多少天的函數。

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

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

接下來就是輸入輸出啦,按照慣例,我們還是添加了輸入格式檢錯的功能,月份肯定不會超過12或者小余1的吧,天數也不能超過當月的天數,不然要報錯重新輸入。

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

下面來看看代碼吧:

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("請輸入年份:");

int year=reader.nextInt();

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

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

int month=reader.nextInt();

System.out.print("請輸入當月日期:");

int day=reader.nextInt();

while(true){

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

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

month=reader.nextInt();

continue;

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

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

day=reader.nextInt();

continue;

}else{

break;

}

}

for(int i=1;i

days+=monthA[i];

}

days+=day;

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

}

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

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;

}

}

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。