首页 > 试题广场 >

假设num已经被创建为一个ArrayList对象,并且最初包

[单选题]
假设num已经被创建为一个ArrayList对象,并且最初包含以下整数值:[0,0,4,2,5,0,3,0]。 执行下面的方法numQuest(),最终的输出结果是什么?
private List<Integer> nums;

//precondition: nums.size() > 0
//nums contains Integer objects
public void numQuest() {
int k = 0;
Integer zero = new Integer(0);
while (k < nums.size()) {
if (nums.get(k).equals(zero))
nums.remove(k);
k++;
}
}

  • [3, 5, 2, 4, 0, 0, 0, 0]
  • [0, 0, 0, 0, 4, 2, 5, 3]
  • [0, 0, 4, 2, 5, 0, 3, 0]
  • [0, 4, 2, 5, 3]
第一次循环:k=0 nums[0,0,4,2,5,0,3,0],size=8 nums的第一位为0被移除,此时的k++
第二次循环:k=1 nums[0,4,2,5,0,3,0size=7 nums的第一位是0,但是现在K=1不是K=0😂 ,所以是和4比较不成立。下面同理啦
第三次循环:k=2 nums[0,4,2,5,0,3,0size=7 2!=0
第四次循环:k=3 nums[0,4,2,5,0,3,0size=7 5!=0
第五次循环:k=4 nums[0,4,2,5,0,3,0size=7 0=0
第六次循环:k=5 nums[0,4,2,5,3,0size=6 0=0
第七次循环:k=6 nums[0,4,2,5,3size=5 k>size 结束循环
发表于 2019-08-21 10:16:47 回复(3)
我是蒙的😂
发表于 2019-08-21 00:23:38 回复(0)
第一次循环:k=0 nums[0,0,4,2,5,0,3,0],size=8 nums的第一位为0被移除,此时的k++ 第二次循环:k=1 nums[0,4,2,5,0,3,0] size=7 nums的第一位是0,但是现在K=1不是K=0😂 ,所以是和4比较不成立。下面同理啦 第三次循环:k=2 nums[0,4,2,5,0,3,0] size=7 2!=0 第四次循环:k=3 nums[0,4,2,5,0,3,0] size=7 5!=0 第五次循环:k=4 nums[0,4,2,5,0,3,0] size=7 0=0 第六次循环:k=5 nums[0,4,2,5,3,0] size=6 0=0 第七次循环:k=6 nums[0,4,2,5,3] size=5 k>size 结束循环
发表于 2019-10-11 09:27:42 回复(0)
k++在if里,k是怎么自增的啊
发表于 2019-10-24 08:04:31 回复(2)
没有输出函数是怎么输出的
发表于 2019-10-14 08:57:53 回复(1)
厉害了
编辑于 2019-10-09 14:39:28 回复(0)