gpt4 book ai didi

java - 解决一个java谜语

转载 作者:行者123 更新时间:2023-12-01 18:14:11 25 4
gpt4 key购买 nike

我有类 A 和类 C,我应该编写类 B ,它使主程序的输出在C类中总是成功!。正弦有一个随机 boolean 变量,只有当它为假时我才会得到一个好的结果,当它为真时我不会得到输出。我不允许对 AC 类进行任何更改。

我知道问题出在 C 类中的第三个 if 中,但是我可以在 B 类中进行哪些更改来防止进入这个if

    public class A {

public String foo(String s) {
return s;
}
}

public class B extends A {


public A getA(boolean flag){
A a = new A();
if (flag){

return(a);
}
else{
return (a);
}

}

}


package sw1.riddles.second;

import java.util.Random;

public class C {

public static void main(String[] args) {
String input = args[0];
B b = new B();
Random random = new Random();
boolean randomBool = random.nextBoolean();
A a = b.getA(randomBool);

if (randomBool) {
if (!input.equals(a.foo(input))) {
return;
}
} else {
if (!(input+input).equals(a.foo(input))) {
return;
}
}
System.out.println("success!");
}
}

最佳答案

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);
}
}
}

关于java - 解决一个java谜语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30713954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com