Java:查找具有最大值的整数索引(所有方法参数)

时间:2017-09-12 21:54:04

标签: java return

我正在尝试编写一个有3个输入参数的方法(所有这些都是整数)。我希望该方法确定3个输入值中的哪一个是最大的,在此之后该方法应该返回该最大数字的索引。

如果未找到最大值(如果所有输入参数相同),则该方法应返回值-1。

我用if,else if,else循环编写了这个但是它(我的方法)一直返回错误的值并且我不知道为什么。

public class testingmybig{
int num1 = 9;
int num2 = 2;
int num3 = 3;

    public static int main(int num1, int num2, int num3) {
        int value = 0;
        System.out.printf("Num1 = % , Num2 = % , Num3 = % \n", num1, num2, num3);

        if ((num1 > num2) && (num1 > num3)) {
            System.out.println("number 1 is largest");
            value = 1 ;
        }else if ((num2 > num1) && (num2 > num3)){
            System.out.println("number 2 is largest");
            value = 2 ;
        }else if ((num3 > num1) && (num3 > num2)){
            System.out.println("number 3 is largest");
            value = 3 ; 
        }else{
            System.out.println("All numbers are equal");
            value = -1 ;
        }
        return value;
    }
}

目前我的代码打印出来"数字3是最大的"它应该做的是评估iff语句中的代码并打印"数字1是最大的" (因为num1 = 9具有3个数字中最大的值)......

任何帮助都将非常感谢,非常感谢! :)

1 个答案:

答案 0 :(得分:0)

public static int largest(int num1, int num2, int num3) {
    if (num1 == num2 && num2 == num3) {
        return -1;
    } else {
        return Math.max(Math.max(num1, num2), num3);
    }
}