我正在开发一个Java应用程序。
我有五个int变量。它们可能包含不同的int值。我想检查哪个变量是最大的。根据该变量,我必须执行不同的方法。
int intHx;
int intEx;
int intRx;
int intMx;
int intIx;
如何找到具有最高值的变量?
PS:要澄清 我想选择具有最高值的变量,而不是变量包含的值。这与排序值无关,而是执行不同的方法。答案 0 :(得分:1)
此枚举是可选的,但有助于代码清晰度:
enum Field {
INT_HX,
INT_EX,
INT_RX,
INT_MX,
INT_IX
}
然后测试值:
Field largestField = Field.INT_HX;
int largestValue = intHx;
if(intEx > largestValue) {
largestField = Field.INT_EX;
largestValue = intEx;
}
if(intRx > largestValue) {
largestField = Field.INT_RX;
largestValue = intRx;
}
if(intMx > largestValue) {
largestField = Field.INT_MX;
largestValue = intMx;
}
if(intIx > largestValue) {
largestValue = intIx;
}
switch(largestField) {
case INT_HX:
// call the intHx related method
break;
case INT_EX:
// call the intEx related method
break;
case INT_RX:
// call the intRx related method
break;
case INT_MX:
// call the intMx related method
break;
case INT_IX:
// call the intIx related method
break;
}
答案 1 :(得分:0)
Field largestField;
if (num1>num2)
{
largestField = Field.num1;
}
else
{
largestField = Field.num2;
}
if (largest < num3)
{
largestField = Field.num3;
}
if (largest < num4)
{
largestField = Field.num4;
}
if (largest < num5)
{
largestField = Field.num5;
}
最后,最大值中的值将是5中最大的值。
答案 2 :(得分:0)
试试这个(必需的JDK 8)
private int getMax(int... numbers){
OptionalInt max = Arrays.stream(numbers).max();
return max.getAsInt();
}