Java Class 缺少 return 语句
Java Class Missing return statement
我的代码似乎有问题:
public static String Equilateral (int a, int b, int c){
if(a==b && b==c)
return "Equilateral";
}
当我明明有 return 时它却说 "missing return statement"。有人可以帮忙吗?非常感谢。
它说因为如果你的条件语句的计算结果为 false
那么就不会有 return 语句,你的代码会跳过它。
改为使用此模板:
if(a==b && b==c){
return "Equilateral";
}
else{
return "Not Equilateral!";
}
你应该使用一些大括号,这将有助于理解你正在做的事情并防止像你这样的错误。
或者,如果您希望使用单个 return 语句:
String result = "Not Equilateral";
if(a==b && b==c){
result = "Equilateral";
}
return result;
根据 OP 的说明进行编辑:
如果您这样设置代码,那么如果您的三角形不是等边的,returned 字符串将为空(System.out.print() 不会打印任何内容)。
String result = "";
if(a==b && b==c){
result = "Equilateral";
}
return result;
假设您的 if
条件 return 为 (a==b && b==c)
设置了 false
值。在那种情况下,你会 return 做什么?还是Equilateral
?
你真正需要的是
public static String Equilateral (int a, int b, int c){
if(a==b && b==c)
return "Equilateral";
return "";
}
或压缩格式
public static String Equilateral (int a, int b, int c){
return (a==b && b==c)? "Equilateral" : "" ;
}
我的代码似乎有问题:
public static String Equilateral (int a, int b, int c){
if(a==b && b==c)
return "Equilateral";
}
当我明明有 return 时它却说 "missing return statement"。有人可以帮忙吗?非常感谢。
它说因为如果你的条件语句的计算结果为 false
那么就不会有 return 语句,你的代码会跳过它。
改为使用此模板:
if(a==b && b==c){
return "Equilateral";
}
else{
return "Not Equilateral!";
}
你应该使用一些大括号,这将有助于理解你正在做的事情并防止像你这样的错误。
或者,如果您希望使用单个 return 语句:
String result = "Not Equilateral";
if(a==b && b==c){
result = "Equilateral";
}
return result;
根据 OP 的说明进行编辑:
如果您这样设置代码,那么如果您的三角形不是等边的,returned 字符串将为空(System.out.print() 不会打印任何内容)。
String result = "";
if(a==b && b==c){
result = "Equilateral";
}
return result;
假设您的 if
条件 return 为 (a==b && b==c)
设置了 false
值。在那种情况下,你会 return 做什么?还是Equilateral
?
你真正需要的是
public static String Equilateral (int a, int b, int c){
if(a==b && b==c)
return "Equilateral";
return "";
}
或压缩格式
public static String Equilateral (int a, int b, int c){
return (a==b && b==c)? "Equilateral" : "" ;
}