我的程序似乎不明白我想要做什么,并希望有人可以提供帮助,我收到错误说我需要返回一个对象,但我有三个返回语句都有不同的条件:
private Door pickADoor(){
Random rand = new Random();
int i = rand.nextInt(3);
if (i == 2){
return A;
}
else if (i == 1){
return B;
}
else if (i == 0){
return C;
}
}
A,B和C都是预先定义的对象。
答案 0 :(得分:3)
你错过了ELSE声明。即使你知道只有三个是可能的,编译器也不知道它并且它对你说'#34;很可能你的方法没有返回语句"
所以:
catalog_product_flat_1
答案 1 :(得分:1)
您可以添加一个默认的return语句,因为无法确定在运行时是否满足您的某个条件,这就是编译器抱怨的原因。
private Door pickADoor(){
Random rand = new Random();
int i = rand.nextInt(3);
if (i == 2){
return A;
}
else if (i == 1){
return B;
}
else if (i == 0){
return C;
}
return A ; // some default value
}
答案 2 :(得分:0)
由于方法的返回类型为Door
,因此,如果没有条件为真,那么它不会返回任何内容。因此,您需要在方法的末尾添加return null;
。或者您也可以在else
块中返回其他对象。