当前位置: 首页 > 知识库问答 >
问题:

将数组元素与方法的返回值进行比较

章心水
2023-03-14
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;
}

共有1个答案

羊舌自强
2023-03-14

你可以解决这个问题的方法是跟踪最高降雨量的指数,而不是数值。现在的问题是,您有两个不同的数组,其中一个数组的值与另一个数组没有关联。

为此,您可以这样做:

    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个数组中获得实际的降雨量和月份。

    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
    }
 类似资料:
  • 我正在尝试将哈希检查从服务器应用程序移动到PostgreSQL。换句话说,我需要调用一个对PGSQL的查询,它将来自查询的字符串与来自字段的字符串进行比较,并将相等比较的结果返回为bool,但如果没有关于clear SQL的过程,我不知道如何实现这一点。 upd:我有字段密码的表用户(当前为文本,将来为bytea)。我想写点什么 它必须返回true或false作为相等比较的结果。

  • 我是java新手,所以如果我犯了一个非常简单的错误,请原谅我。我正在尝试在基于文本的冒险游戏中购物。我创建了一个数组,它将物品列表存储为商店可以出售的字符串。这是我用于用户在游戏中进行购买的方法的一部分。 我试图将扫描仪输入与shopItems进行比较,以检查用户想要购买的商品是否在商店中可用,但它无法识别shopItems中的任何元素。我用这种方法有什么不对吗/哪里有错吗?这是我在这里的第一个帖

  • 在我的JavaScript小程序中,我必须检查a和b输入值:如果它们是新的一对,则这一对将作为1D向量添加到小程序的历史记录中。 因此,我制作了一个历史2D数组,其中存储了所有新的对。程序循环数组,将新对与历史数组的每一行进行比较。然而,我有一个问题:当比较的结果应该是真的(即,当I==1时),我得到了一个假结果。 我读了这一页:https://www.w3schools.com/js/js_ar

  • 问题内容: 比较两个数组并返回差值的最快/最佳方法是什么?非常类似于PHP。有一个简单的功能,还是我必须创建一个via ?还是循环? 问题答案: 如果您希望在JQuery中做到这一点,希望对您有所帮助。 最后的警报提示不常见元素数组Array,即2个数组之间的差。 请让我知道我是否错过了任何事情,干杯! 码

  • 我正在为我的网站写一个聊天页面。我已经成功地设法向用户询问他们的名字,简单地说欢迎“username”。问题是,我还希望在聊天本身的名称输入框中使用相同的名称,而不是用户每次希望写消息时都必须输入自己的名称。我使用了onclick=来提示用户输入他们的名字,但我无法让它在名称框中显示该名字。 编辑:我发现,虽然javascript代码submit.php,但submit.php根本不显示:/