我给了班级A
和班级C
,而且我应该编写班级B
,这会使班级{{1}的主要输出总是C
。
正弦有一个随机的布尔变量,只有当它是假的时候我得到一个好的结果,当它是真的我没有得到输出时。
我不允许在课程successful!
或A
中进行任何更改。
我理解问题出现在班级C
的第三个if
中,但是我可以在班级C
中做出哪些更改,以防止进入此B
?
if
答案 0 :(得分:3)
B级应如下:
public class B extends A{
public String foo(String s){
return s+s;
}
public A getA(boolean flag){
if (flag){
A a = new A();
return(a);
}
else{
B b = new B();
return (b);
}
}
}
答案 1 :(得分:1)
也许解决方案:
public class B extends A {
public A getA(boolean flag){
if (flag){ //true -> usual A with foo == input
return new A(); //or this
}
//false-> custom A with foo == input + input
return new A(){
@Override
public String foo(String s) {
return s+s;
}
};
}
}