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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使復活節(jié)計算器代碼更高效的可能方法?

使復活節(jié)計算器代碼更高效的可能方法?

MYYA 2023-10-19 21:35:15
這是我的復活節(jié)計算器的代碼。工作正常,想知道是否有一種方法可以提高效率(尤其是月份選擇部分)。if 語句非常長,想知道我是否可以使用數(shù)組來選擇月份。對于將來的參考,這樣的 if 語句將非常耗時,感謝您的反饋。import java.util.*;import java.lang.Math;class Main {    public static void main(String[] args) {        Scanner userInput = new Scanner(System.in);        System.out.println("\nWelcome to the Easter Calculator. Please enter the current year below.");        int y = userInput.nextInt();        int p = y/100;        int q = y - (19*(y/19));        int r = (p-17)/25;        int s = p - (p/4) - ((p-r)/3) + (19*q) + 15;        s = s - (30*(s/30));        s = s - ((s/28)*1-((s/28)*(29/(s+1))*((21-q)/11)));        int t = y + (y/4) + s + 2 - p + (p/4);        t = t - (7*(t/7));        int u = s - t;        int m = 3 + ((u+40)/44);        int d = u + 28 - (31*(m/4));        String month;        if(m == 1){            month = "January";        }        else if(m == 2){            month = "February";        }        else if(m == 3){            month = "March";        }        else if(m == 4){            month = "April";        }        else if(m == 5){            month = "May";        }        else if(m == 6){            month = "June";        }        else if(m == 7){            month = "July";        }        else if(m == 8){            month = "August";        }        else if(m == 9){            month = "September";        }        else if(m == 10){            month = "October";        }        else if(m == 11){            month = "November";        }        else{            month = "December";        }        System.out.println("\nEaster will be on "+month+" "+d+", "+y+".");    }}
查看完整描述

4 回答

?
喵喔喔

TA貢獻1735條經(jīng)驗 獲得超5個贊

可能用最少的代碼行進行最快的解碼是通過一個字符串數(shù)組,我們稱之為monthNames,包含所有月份的名稱。它的長度為 12,并且由于數(shù)組索引是從 0 開始的,因此您必須以這種方式獲取字符串,例如第 1 個月的字符串:String month = monthNames[m-1];



查看完整回答
反對 回復 2023-10-19
?
皈依舞

TA貢獻1851條經(jīng)驗 獲得超3個贊

其他人提到過,但我也會選擇數(shù)組


就像是:


    String month = "";

    int m = 1; // january


    String[] months = {"January", "Febuary", "March", "April", "May", "June", "July", "August",

            "September", "October", "November", "December"};


    month = months[m-1];


查看完整回答
反對 回復 2023-10-19
?
狐的傳說

TA貢獻1804條經(jīng)驗 獲得超3個贊

switch 語句和字符串數(shù)組一樣有效。我發(fā)現(xiàn)該數(shù)組更容易使用!


//Array to hold each month of the year

String monthArray[] = {"January", "Febuary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};


//Final output statement stating the month, day, and year easter will be held.

System.out.println("\nEaster will be on "+monthArray[m-1]+" "+d+", "+y+".");


查看完整回答
反對 回復 2023-10-19
?
守著一只汪

TA貢獻1872條經(jīng)驗 獲得超4個贊

我建議使用 switch 語句。這里有一些可以讓你開始的事情:


switch(m) {

    case 1: month = "January";

        break;

    case 2: month = "February";

        break;

    case 3: month = "March";

        break;

    case 4: month = "April";

        break;

    ...

    case 11: month = "November";

        break;

    default: month = "December";

}

另外,我建議正確縮進代碼,這樣如果出現(xiàn)任何問題,可以更輕松地閱讀和調(diào)試。另外,我建議為變量指定有意義的名稱。單字母名稱沒有多大意義,因此很快就會變得非常混亂。


查看完整回答
反對 回復 2023-10-19
  • 4 回答
  • 0 關注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號