因此,我很难试图解决这个编码问题:他们希望我回答以下四个问题:“getValue(...)”将使用以下输入执行多少次,结果是什么?
(1) 获取值(“foo”, 0);
(2) 获取值(“柱”,2);
(3) 获取值(“巴兹”,0);
(4) 获取值(“富巴”, 1);
我知道前两个答案:
1) 将执行一次并返回 1 次
2)将执行1次并返回3但是最后两个问题(3,4)我不明白。任何人都可以帮助澄清这段代码到底在做什么,并提示答案是什么?
代码如下:
import java.util.HashMap;
import java.util.Map;
public class myClass {
private Map<String,Integer> map;
public myClass() {
map = new HashMap<>();
map.put("foo", 1);
map.put("bar", 3);
}
public int getValue(String input, int numRetries) throws Exception {
try {
return map.get(input);
}
catch (Exception e) {
if (numRetries > 3) {
throw e;
}
return getValue(input, numRetries + 1);
}
}
提前感谢您。
呼啦一阵风
相关分类