import java.util.Scanner;
public class Main {
public static String doStuff(int num){
//your code here
for(int i = 1; i < 5; i++){
if(i == num){
String str = String.valueOf(i);
return str;
}
else if(i > 4){
return "too large";
}
else if(i < 1){
return "too small";
}
}
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
for(int i=0; i<n; i++){
int a = in.nextInt();
System.out.println( doStuff(a) );
}
}
}
当我运行此代码时,出现以下错误:
Main.java:21: error: missing return statement
}
^
1 error
我该如何解决这个问题?
见以下条件: 给定1到4(含)的数字,返回数字的单词表示。例如,给定2,返回两个。如果数字大于4,则返回短语太大。如果该数字小于1,则将该短语返回太小。
答案 0 :(得分:4)
doStuff()
方法中的所有return语句都是条件返回语句(存在于if-else
或for
循环内)。您需要在方法的末尾使用默认的return
,以便在没有条件块执行的情况下返回该方法。
public static String doStuff(int num){
//your code here
for(int i = 1; i < 5; i++){
if(i == num){
String str = String.valueOf(i);
return str;
}
else if(i > 4){
return "too large";
}
else if(i < 1){
return "too small";
}
}
return null; // default return in case none of the if-else blocks are executed.
}
答案 1 :(得分:0)
您正在for循环中返回值。你应该返回一些默认值。
public static String doStuff(int num){
//your code here
for(int i = 1; i < 5; i++){
if(i == num){
String str = String.valueOf(i);
return str;
}
else if(i > 4){
return "too large";
}
else if(i < 1){
return "too small";
}
}
return "default";
}