如何获取给定的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;
}
}
答案 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将自动执行从int
到double
的原始转换。
第二,您确实可以使用Math.max
比较两者,并返回最高值。
但是,如果要比较的双打比较多,那么每次比较都要写Math.max
会很麻烦。在这种情况下,我建议使用流:
double[] numbers = ...;
double max = Arrays.stream(numbers)
.max()
.get();
注意:如果数组为空,这将引发异常。