【问题标题】:Make java give the the highest sum of 3 numbers out of 4 given让java给出4个给定的3个数字的最大总和
【发布时间】:2018-04-02 07:09:23
【问题描述】:

当给定 4 个数字时,我如何找出 4 个数字中哪 3 个数字的总和最大。 因此,如果给定 3 2 5 5,我希望 java 将 3 5 5 相加为 13

我已经搜索了大约 20 分钟,我发现的只是如何找到 4 个数字中的最高数字。我知道我绝对可以只写 16 行代码来比较 16 种不同的组合,但我希望有人能指出我更快的方向。

【问题讨论】:

  • 我们会在您提交的评估中得到确认吗?
  • 严肃地说,请添加您到目前为止尝试过的代码,指定它的输出,以便有人可以提供帮助。
  • @Blip 他试图让我们其他人为他思考问题。不幸的是,至少在一种情况下,他的尝试似乎奏效了。
  • 你在认真学习编程吗???我已经指出了所涉及的步骤。如果您了解任何编程基础知识,您应该能够编写程序。此外,我发现您吹嘘要编写一个程序,在该程序中您总结所​​有组合,然后找到最大的总数。这比我给出的程序要难写得多。'
  • 这不是那种需要“搜索 20 分钟”才能找到答案的问题。这是你弄清楚如何去做的问题。具体来说,如果你是手工做的,你会怎么做?然后你会弄清楚如何将你的流程翻译成 Java 代码——如果你在那里遇到了麻烦,并且你已经尝试查看一些教程、书籍或其他资源但仍然不知道,那么是时候发布你的内容了已经尝试过以及您正在采取什么方法,我们将能够在编程细节方面提供更多帮助。

标签: java bluej


【解决方案1】:

首先找到最小的数字。

因此,对于 3 2 5 5,它将是 2。请确保将其存储起来。

因此,要求和的数字是 3、5 和 5

要获得总和,您需要将所有数字相加:

3 + 2 + 5 + 5 = 15

然后从总和中减去最小的数字。所以 15-2 等于 13

【讨论】:

  • 这正是我想要的。我刚刚学会了 if 语句,所以我对 java 还是很陌生,这个算法让我知道如何得到我需要的结果..
【解决方案2】:

首先找出四个数字中最大的一个并将其放在一边。

然后找出其余三个数中最大的一个并放在一边。

然后找出剩下的两个数中最大的一个并放在一边。

然后将保留的数字相加并显示结果。

【讨论】:

    【解决方案3】:
    public static void main(String args[]) {
        int[] vals = new int[4];
        vals[0] = 3;
        vals[1] = 2;
        vals[2] = 5;
        vals[3] = 5;
        int result = sum4(vals);
        System.out.println("Sum of x+y = " + result);
    }
    
    private static int sum4(int[] nums)
    {
        int retVal = 0;
        int lowest =  Integer.MAX_VALUE;
        for (int i=0; i<nums.length; i++)
        {
            if (nums[i] < lowest)
                lowest = nums[i];
            retVal += nums[i];
        }
        retVal -= lowest;
        return retVal;
    }
    

    【讨论】:

      猜你喜欢
      • 2021-08-09
      • 2015-12-09
      • 1970-01-01
      • 1970-01-01
      • 2017-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多