我正在尝试编写一个有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个数字中最大的值)......
任何帮助都将非常感谢,非常感谢! :)
答案 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);
}
}