找到具有最大int值的变量

时间:2014-06-10 04:22:27

标签: java

我正在开发一个Java应用程序。

我有五个int变量。它们可能包含不同的int值。我想检查哪个变量是最大的。根据该变量,我必须执行不同的方法。

int intHx;
int intEx;
int intRx;
int intMx;
int intIx;

如何找到具有最高值的变量?

PS:要澄清 我想选择具有最高值的变量,而不是变量包含的值。这与排序值无关,而是执行不同的方法。

3 个答案:

答案 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();
 }