我的代码所基于的问题可在以下网站上找到:
所以基本上,我的代码适用于布尔值,但对于以下方法:percentFiltered,我的代码会发疯。
通过上面提供的链接提交我的代码时,这就是我的输出:
percentFiltered(初始):0.0
process(0) 进程返回值:true percentFiltered:100.0
super.process called:falseprocess(0) 进程返回值:true percentFiltered:200.0
但是,这是正确的 输出:
percentFiltered(初始):0.0
process(0) 进程返回值:true percentFiltered:100.0
super.process called:falseprocess(0) 进程返回值:true percentFiltered:100.0
所以请注意,我与预期答案相差 100.0(我得到 200.0,他们得到 100.0)。所以现在我很难过。我对这个继承的事情还是很陌生,所以我不知道我哪里出错了。这是我编写并提交的代码:
public class FilteredAccount extends Account {
private int nonzeroTransCnt = 1;
private int zeroTransCnt;
public FilteredAccount(Client c) {
super(c);
}
public double percentFiltered() {
return zeroTransCnt / nonzeroTransCnt * 100.0;
}
public boolean process(Transaction t) {
if (t.value() == 0) {
zeroTransCnt++;
super.__processCalled = false;
return true;
}
else {
nonzeroTransCnt++;
super.__processCalled = true;
return t.value() > -100 && t.value() < 1000000;
}
}
}
如果您单击上面的链接,他们有一个名为Account的扩展文件。提前谢谢,如果你能帮助我。