我有以下代码
class dog{
String name;
int barksLeft;
int bark(int howManyTimes){
while(howManyTimes >3){
System.out.println("woff!");
howManyTimes-=1;
return howManyTimes;
}
}
}
public class implementDog{
public static void main (String[] args) {
dog pupy = new dog();
pupy.barksLeft = pupy.bark(6);
System.out.println("You have "+pupy.barksLeft+" barks left");
}
}
implementDog.java:10: error: missing return statement
}
^
1 error
我错过了什么?
如果有一个方法返回void以外的东西,则需要确保通过该方法的每个逻辑路径显式地返回适当对象/类型的东西。在您的例子中,考虑howManyTimes小于或等于3的情况-它将跳过while块,并转到最后。由于那里没有显式的return语句,方法在那种情况下不会返回任何东西,这是不正确的--它在所有情况下都应该返回一个int
。
还应该注意,非void方法中的最后一个语句应该是return
或throw
。
我一直得到一个丢失的返回语句错误,但我不知道在哪里。每次跟随代码,我都感觉到至少有一个if语句提供了return语句。 代码:
我真的弄不明白为什么我的代码会导致这个错误,一切看起来都是正确的,以为它总是出现,因为它缺少一个return语句 我试着寻找解决方案,我看到“if”后面的“while”是一个解决方案,但由于我需要多个数字,我不能使用while,而必须使用“what if”。
我不断地得到缺少的return语句并且在解析时到达文件的结尾,然而我已经有了return语句并且我的代码正确地关闭了括号。请帮忙,谢谢
关于或语句中使用的return语句,我有一个问题。正如您在下面的方法中所看到的,希望I一个字符串值。问题是,如果在语句块中使用语句,编译器将返回错误。 当然,我可以将方法头更改为,并使用而不是。但这是正确的做法吗?我是不是漏掉了什么? 任何帮助都是非常感谢的。
我得到的错误是“缺少return语句”,代码如下: 有人能帮帮我吗?多谢.