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

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

將數(shù)組元素與方法的返回值進(jìn)行比較

將數(shù)組元素與方法的返回值進(jìn)行比較

MMMHUHU 2023-11-01 17:00:33
我有一種方法可以根據(jù)用戶輸入的月份數(shù)組計(jì)算最小和最大降雨量。我的問(wèn)題是我的方法返回最小值和最大值的數(shù)量,我需要它返回降雨量最高或最低的月份。我不知道如何將我的最小和最大方法與月份數(shù)組進(jìn)行比較。我想如果我可以說(shuō)最小值是在索引 5 處找到的,那么也有辦法拉出月份數(shù)組的索引 5。我嘗試了多種類型的 for 循環(huán)和嵌套 for 循環(huán),但似乎無(wú)法獲得正確的月份。public static void main(String[] args) {    String[] months = {"January", "February", "March","April","May","June","July","August","September","October","November","December"};    double[] rainfall = new double[months.length];    Rainfall amazon = new Rainfall();    //scanner to get user input    Scanner scanner = new Scanner(System.in);    //for loop to iterate through the months to get user input of rainfall each month    for(int i = 0; i<rainfall.length; i++) {        System.out.println("How much rainfall did you recieve, in inches, for the month of: " + months[i]);        rainfall[i] = scanner.nextDouble();        //while statement to reject negative numbers                 while(rainfall[i] < 0) {            System.out.println("You can not enter a negative number");            System.out.println("How much rainfall did you recieve for the month of: " + months[i]);            rainfall[i] = scanner.nextDouble();          }    }    System.out.println("total rainfall: " + amazon.getTotalRainfall(rainfall) +                        " average Rainfall: " + amazon.getAverageRainfall(rainfall) +                        " min: " + amazon.getMinRainfall(rainfall) +                        " max: " + amazon.getMaxRainfall(rainfall));}public double getMaxRainfall(double[] rainfall) {    double max = rainfall[0];    for(int i = 1; i < rainfall.length; i++)        if(rainfall[i] > max) {            max = rainfall[i];        }    return max;}      public double getMinRainfall(double[] rainfall) {    double min = rainfall[0];    for(int i = 1; i < rainfall.length; i++)        if(rainfall[i] < min) {            min = rainfall[i];        }    return min;}我需要知道降雨量最高和最低的月份
查看完整描述

4 回答

?
眼眸繁星

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

解決這個(gè)問(wèn)題的方法是跟蹤最高降雨量的指數(shù)而不是值。您現(xiàn)在遇到的問(wèn)題是您有 2 個(gè)不同的數(shù)組,并且其中一個(gè)數(shù)組的值與另一個(gè)數(shù)組不相關(guān)。


為此,你可以這樣做:


    public int getMaxRainfallIndex(double[] rainfall) {

        int max = 0;

        for (int i = 1; i < rainfall.length; i++)

            if (rainfall[i] > rainfall[max]) {

                max = i;

            }

        return max;

    } 

然后,您可以使用此返回值從原始 2 個(gè)數(shù)組中獲取實(shí)際降雨量和月份。


然而,一種更簡(jiǎn)潔的方法是創(chuàng)建一個(gè)單獨(dú)的類來(lái)存儲(chǔ)這兩條信息,這樣您就可以返回包含這兩條信息的整個(gè)對(duì)象。這樣你甚至不必?fù)?dān)心保留兩個(gè)單獨(dú)的數(shù)組。


可以這樣做:


    public static void main(String[] args) {

        Rainfall[] rainfall = new Rainfall[12];

        //Do everything else

    }


    public class Rainfall {

        private String month;

        private double rainfall;


        //Constructor, Getters + Setters

    }


查看完整回答
反對(duì) 回復(fù) 2023-11-01
?
智慧大石

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

一個(gè)可能的解決方案是返回月份的索引,例如您的getMaxRainfall方法應(yīng)如下所示:


 public int getMaxRainfallIndex(double[] rainfall)

      {

        int maxIndex = 0;

        double max = rainfall[0];

              for(int i = 1; i < rainfall.length; i++)

                 if(rainfall[i] > max)

                    {

                     max = rainfall[i];

                     maxIndex = i;

                    }

              return maxIndex;

     }   

在您的中,main您應(yīng)該使用該索引來(lái)獲取月份和降雨量:


int index = amazon.getMaxRainfallIndex(rainfall);

system.out.println("month of max rainfall: " + months[index]);

system.out.println("max rainfall: " + rainfall[index]);


查看完整回答
反對(duì) 回復(fù) 2023-11-01
?
溫溫醬

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

您可以創(chuàng)建一個(gè)單獨(dú)的數(shù)組,而不是單獨(dú)管理兩個(gè)數(shù)組class:


public class RainfallByMonth {

    private double rainfall;

    private String month;


    // Getter/Setters here

}

在你的主要方法中:


public static void main(String[] args) {

    RainfallByMonth[] rainfallByMonths = new RainfallByMonth[12];

    String[] months = new DateFormatSymbols().getMonths(); // array of months


    Scanner scanner = new Scanner(System.in);

    for (int i = 0; i < rainfallByMonths.length; i++) {

        System.out.println("How much rainfall did you receive, in inches, for the month of: " + months[i]);

        rainfallByMonths[i].setMonth(months[i]);

        rainfallByMonths[i].setRainfall(scanner.nextDouble());

    }

    RainfallByMonth maxRainfall = getMaxRainfall(rainfallByMonths);

    // Now you can print the results here

}

按月計(jì)算最大降雨量:


public static RainfallByMonth getMaxRainfall(RainfallByMonth[] rainfallByMonths) {

    RainfallByMonth maxRainfall = rainfallByMonths[0];

    for(int i = 1; i < rainfallByMonths.length; i++) {

        if(rainfallByMonths[i].getRainfall() > maxRainfall.getRainfall()) {

            maxRainfall = rainfallByMonths[i];

        }

    }

    return maxRainfall;

}

同樣,情況反之亦然min(只是條件不同)。這將更容易管理。


查看完整回答
反對(duì) 回復(fù) 2023-11-01
?
Cats萌萌

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

public static void main(String[] args) {

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

      int[] weather = {10, -1, 7,44,33,6,22,54,89,21,8,51};

      int max = 0;

      int index= 0;

      for (int i=0;i<weather.length-1;i++  ){

          if (weather[i] > m){

              max = weather[i];

              index= i;

          } 

      }

      System.out.println(months[index]); 

}

查找最高月份的示例程序。要查找最低月份降雨量,請(qǐng)?jiān)趇f條件中使用小于符號(hào)


查看完整回答
反對(duì) 回復(fù) 2023-11-01
  • 4 回答
  • 0 關(guān)注
  • 165 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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