第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

獲取一年中的第 n 天

獲取一年中的第 n 天

楊魅力 2023-09-06 15:50:42
對(duì)于家庭作業(yè),我想在 Jave 程序中計(jì)算日期在一年中的第 n 天。因此,用戶給出一個(gè)日期,然后它會(huì)告訴你這是一年中的第幾天。所以 2019 年 1 月 1 日是第一天。我已經(jīng)有一個(gè)函數(shù)可以給出一個(gè)月的天數(shù)。此函數(shù)還考慮閏年。所以我只需要一個(gè)返回一年中的第幾天的函數(shù)。我想,我必須做,但它不起作用,因?yàn)槲也荒軠p少一個(gè)月:    static int dayNumberInYear(int day, Month month, int year)    {      while(month!=Month.JANUARY)      {        int dayNumberInYear=dayNumberInYear+numberOfDaysInMonth(year,month);        Month month = month(-1);      }    return dayNumberInYear(day,month,year)+day;    }我知道這是不對(duì)的,所以我希望有人能幫助我。我認(rèn)為 for 循環(huán)更好,但我不知道如何。第一行,static int dayNumberInYear(int day, Month month, int year)我不允許更改它,所以它需要是第一行。 我不允許使用 java JRE 日期操作類,如日歷、日期等!我是初學(xué)者,所以希望有人能幫助我。這是我到目前為止的代碼:    package ;    import java.util.Scanner;    public class Easter    {      public static void main(String[] arguments)      {        Scanner scanner=new Scanner(System.in);        System.out.println("Enter the day month and year with spaces in between:");        int day=scanner.nextInt();        int monthNumber=scanner.nextInt();        Month month=Month.month(monthNumber);        int year=scanner.nextInt();        System.out.println("The month "+month+" has "+numberOfDaysInMonth(year,month)+" days in year "+year);        System.out.println("The number of this date in a year:"+dayNumberInYear(day,month,year));        scanner.close();      }      static boolean isLeapYear(int year)      {        if(year%100==0)          year=year/100;        if(year%4==0)          return true;        return false;      }      static int numberOfDaysInMonth(int year, Month month)      {        switch(month)        {          case APRIL:          case JUNE:          case SEPTEMBER:          case NOVEMBER:            return 30;          case FEBRUARY:            if(isLeapYear(year))              return 29;            return 28;          default:            return 31;        }      }
查看完整描述

3 回答

?
一只斗牛犬

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊

看起來您想要的想法是一種按月遞減的遞歸方法。


static int dayNumberInYear(int day, Month month, int year)

? ? {

? ? ? if(!month.equals(Month.JANUARY)) {

? ? ? ? return day + dayNumberInYear(numberOfDaysInMonth(month.minus(1), year), month.minus(1), year);

? ? ? } else {

? ? ? ? return day;

? ? ? }

}

請(qǐng)注意,在這種遞歸方法中,基本情況是現(xiàn)在是一月,我們只需返回一月的當(dāng)天。否則,我們將添加當(dāng)前月份的某一天,然后添加之前每個(gè)月的所有天數(shù)。


它也可以作為 for 循環(huán)來完成。


static int dayNumberInYearByLoop(int day, Month month, int year) {

? int totalDays = day;

? for (int i = month.getValue();i>1;i--) {

? ? totalDays += numberOfDaysInMonth(Month.of(i), year);

? }

? return totalDays;

}

查看完整回答
反對(duì) 回復(fù) 2023-09-06
?
Smart貓小萌

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊

package SO;


import java.time.Month;


public class test {

    //below array contain number of total days in that month(non leap year).

    static int arrTotal[] = { 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 };


    public static void main(String[] args) {


        System.out.println(dayNumberInYear(3, Month.MARCH, 2019));

    }


    static int dayNumberInYear(int day, Month month, int year) {

        int dayNumberInYear = day + numberOfDaysInMonth(year, month);


        return dayNumberInYear;

    }


    private static int numberOfDaysInMonth(int year, Month month) {

        int add = 0;


        if (year % 4 == 0)

            add++;


        int a = month.getValue();

        return arrTotal[(a - 2)] + add;

    }

}


查看完整回答
反對(duì) 回復(fù) 2023-09-06
?
侃侃無極

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊

就這么簡(jiǎn)單。


public static String dayNumberInYear(String sDate) {

        //sDate formate 2023-02-20, you can change local date format

        LocalDate localDate = LocalDate.parse(sDate);

        int dayOfYear = localDate.getDayOfYear();

        return dayOfYear > 99 ? "" + dayOfYear : dayOfYear > 9 ? "0" + dayOfYear : "00" + dayOfYear;


    }


查看完整回答
反對(duì) 回復(fù) 2023-09-06
  • 3 回答
  • 0 關(guān)注
  • 162 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)