Java 不可达错误
我正试图打印出三个等级中最高的一个;但是,最高方法中的if/else语句在返回d中查找错误。我试着把if(d>b&&d>c)返回d,否则也返回d。但这两次程序都表示无法访问。有人能解释一下我做错了什么吗?谢谢大家!Java 不可达错误,java,eclipse,Java,Eclipse,我正试图打印出三个等级中最高的一个;但是,最高方法中的if/else语句在返回d中查找错误。我试着把if(d>b&&d>c)返回d,否则也返回d。但这两次程序都表示无法访问。有人能解释一下我做错了什么吗?谢谢大家! import java.util.Scanner; public class Methods2 { public static double average(double a){ double ave= a/3.0; ret
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);
}
}
因为第二个if中的分号
if(c>b && c>d);
在那里终止条件语句并
返回c
成为一条不管条件如何都会执行的语句,请删除它,因为第二个if中有分号
if(c>b && c>d);
在那里终止条件语句并
返回c代码>成为一条无论条件如何都会执行的语句,请将其删除是。因为分号使它成为一个空的if
body
if(c>b && c>d);
return c;
应该是
if(c>b && c>d)
return c;
或者(可以说更好)
您还可以使用将其设置为一行方法,如
public static double highest(double b, double c, double d) {
return Math.max(d, Math.max(b, c));
}
对。因为分号使它成为一个空的if
body
if(c>b && c>d);
return c;
应该是
if(c>b && c>d)
return c;
或者(可以说更好)
您还可以使用将其设置为一行方法,如
public static double highest(double b, double c, double d) {
return Math.max(d, Math.max(b, c));
}