查找一个int和double的最大值?

时间:2019-03-04 05:05:10

标签: java max

如何获取给定的int和double值的最大值?

package _pasted_code_;
import java.util.Scanner;

public class extra {

    public static void main(String[] args) {
        double x = 2.0;
        double y = 3.0;
        double z = 5.67;
        int a = 3;
        int b = 9;
        double answer = max(x, y);
        System.out.println("The largest number is: " + answer);
        double answer = max(x, y, z);
        int max = max(a, b);
    }   

  public static double max(double num1, double num2) { 
    if (num1 > num2)
      return num1;
    else
      return num2;
  }

  public static int max (int x, int y) {

      if (x > y)
          return x;
        else
          return y;
  }

  public static double max(double num1, double num2, double num3) {
    if ((num1 > num2) && (num1 > num3))
      return num1;
    else
      return num2;
    else  
      return num3;
  }
}

5 个答案:

答案 0 :(得分:1)

您可以使用Math.max(double a, double b)  和Math.max(int a, int b)

示例:

 @model WebApplication.Models.MyTestModel 

<td>
    @Html.LabelFor(m => m.File)
    @Html.DropDownListFor(m => m.File, new SelectList(Model.filenames, "Text", "Value"), "-select type-", new { @class = "css-class", @style = "margin-right:4px; width:150px;height:28px" })
  </td>

答案 1 :(得分:0)

Java将在需要时将int转换为double。另外,只需使用Java的Math.max()

答案 2 :(得分:0)

如前所述,您可以在代码内使用Math.max方法来接收最大数量。与Math.min(x,y)相同。它们都以相同的方式工作。

因此,

用简单的术语来表示。

public static double max(double num1, double num2) 
{ 
    return Math.Max(num1, num2);
}

public static int max (int x, int y) 
{
    return Math.max(x,y);
}

这很简单。我相信有人可能已经回答了,但这是相同的概念。

答案 3 :(得分:0)

这里的最佳实践是使用method overloading(假设您不想使用Java自己的max / min方法)。任何方法都有其自己的签名,并且使用签名唯一标识它们。因此,我建议定义的方法如下:

public static int max(int x, int y) {
    // your implementation
}

public static double max(double x, double y) {
    // your implementation
}

但是请记住,最好使用Java的min,max方法。

答案 4 :(得分:0)

首先,如果仅使用类型为double的参数,Java将自动执行从intdouble原始转换

第二,您确实可以使用Math.max比较两者,并返回最高值。

但是,如果要比较的双打比较多,那么每次比较都要写Math.max会很麻烦。在这种情况下,我建议使用流:

double[] numbers = ...;
double max = Arrays.stream(numbers)
    .max()
    .get(); 

注意:如果数组为空,这将引发异常。