我想从三个变量中找到变量具有最大值。我使用给定的代码来查找最大值,但它只能输出最大值。我想得到变量具有最大值。任何方法?
int x=1;
int y=2;
int z=3;
int max = Math.max(Math.max(x,y),z);
System.out.println(max);
答案 0 :(得分:2)
如果你想根据三个变量中哪一个具有最高价值来做不同的事情,你不能做得比:
if (x > y && x > z) {
// do stuff for when x is biggest
} else if (y > x && y > z) {
// do stuff for when y is biggest
} else {
// do stuff for when z is biggest
}
我故意不介绍两个变量具有相同值的情况,两者都是最高的,因为你没有说出你想做什么。我将把它作为读者的练习。
如果你有三个以上的变量,它会变得更复杂,你需要一种将变量映射到一个动作的方法。
答案 1 :(得分:0)
如果您只想知道具有最大值的变量的名称,那很简单,将(value,var name)放入hashmap。获得三者中的最大值后,使用最大值作为键从哈希映射中查找var名称。