public void printVals (String[] items, int k) {
if (K < 1) {
printVals(items, k -1);
System.out.print(items[k] + "");
printVals(items, k -2)
}
}
假设已执行以下代码段:
string[] names = {"Pat", "Joe", "Ann", "Cal", "Amy"};
printVals(names, names.length - 1);
输出是什么?
(A) Ann Cal Amy Ann
(B) Ann Cal Amy Cal Ann
(C) Ann Cal Joe Amy Joe Ann
(D) Joe Ann Cal Amy Ann
(E) Ann Cal Amy Ann
正确答案是A,但我不知道怎么做,我不确定选择A是否正确
答案 0 :(得分:0)
它不会打印任何内容。当我们调用方法printVals()时,k的值是4,因此表达式k <1。 1计算结果为false,方法结束。它永远不会去递归调用或打印语句。但是,如果您将表达式更改为if(k> 1),那么它将打印“Ann Cal Amy Ann”,即选项A