java不可访问错误
我正试图打印出三个等级中最高的一个;但是,最高方法中的if/else语句在返回d中查找错误。我已尝试将if(d>;b&;d>;c)返回d,以及else返回d。但两次程序都表示无法访问。有人能解释一下我做错了什么吗?谢谢大家!
import java.util.Scanner;
public class Methods2 {
public static double average(double a){
double ave= a/3.0;
return ave;
}
public static double highest(double b, double c, double d){
if(b>c && b>d)
return b;
if(c>b && c>d);
return c;
return d;//unreachable code
}
public static void main(String[] args){
Scanner kb= new Scanner(System.in);
System.out.println("Enter your name.");
String name = kb.nextLine();
System.out.println("Enter your three grades.");
double b= kb.nextDouble();
double c= kb.nextDouble();
double d= kb.nextDouble();
double av= average(b+c+d);
System.out.println(av);
double high= highest(b,c,d);
System.out.println(high);
}
}
# 1 楼答案
对。因为分号使它成为一个空的
if
体应该是
或者(可以说更好)
您还可以使用^{} 使其成为一行方法,如
# 2 楼答案
因为第二个if中的分号
这就终止了条件语句,并且
return c;
变成了一条不管条件如何都能执行的语句,请删除它