我正在编写一个方法,返回某个标记输入的字符串。给出一个标记,然后确定该标记适合的等级。但它给了我这个错误:
private String getGrade(int marks)throws Exception { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 此方法必须返回String
类型的结果代码是:
String a = "A, Well done!";
String b = "B, still room for improvement.";
String c = "C, need to improve a lot!";
String d = "D, you got lucky!";
String e = "You failed, please retake the test!";
if (marks>80 || marks==80){
return a;
} else if (marks>70 && marks<80 || marks==70){
return b;
}else if (marks>60 && marks<70 || marks==60){
return c;
} else if (marks>=50 && marks <60){
return d;
}else if (marks<50){
return e;
}
答案 0 :(得分:0)
编译器不会尝试足够聪明地评估所有可能的情况,并确保始终在条件的所有分支中返回一个字符串。您还需要一个没有else
的{{1}}子句,它将返回一个默认值(这是一个字符串)。
答案 1 :(得分:0)
好像你最后需要'其他'
答案 2 :(得分:0)
String a = "A, Well done!";
String b = "B, still room for improvement.";
String c = "C, need to improve a lot!";
String d = "D, you got lucky!";
String e = "You failed, please retake the test!";
if (marks>80 || marks==80){
return a;
} else if (marks>70 && marks<80 || marks==70){
return b;
}else if (marks>60 && marks<70 || marks==60){
return c;
} else if (marks>=50 && marks <60){
return d;
}else{
return e;
}
正如你没有t return a value if
if(标记&lt; 50)`语句失败了,虽然我们知道这里没有失败的可能性,但程序以这种方式运行只能像我一样使用
答案 3 :(得分:0)
你必须在这里输出else并返回一个字符串值,否则语句将不会执行。试试吧,希望它能帮到你。
答案 4 :(得分:0)
你可以试试这可能对你有帮助。
String a = "A, Well done!";
String b = "B, still room for improvement.";
String c = "C, need to improve a lot!";
String d = "D, you got lucky!";
String e = "You failed, please retake the test!";
if (marks>=80){
return a;
} else if (marks>=70) {
return b;
} else if (marks>=60){
return c;
} else if (marks>=50){
return d;
} else {
return e;
}
或强>
String a = "A, Well done!";
String b = "B, still room for improvement.";
String c = "C, need to improve a lot!";
String d = "D, you got lucky!";
String e = "You failed, please retake the test!";
String r=""
if (marks>=80){
r=a;
} else if (marks>=70) {
r=b;
} else if (marks>=60){
r=c;
} else if (marks>=50){
r=d;
} else {
r=e;
}
return r;
我希望第二个好,因为它总是有返回路径并将某些内容返回给调用者。