阅读下面的程序,并回答以下问题:(1)程序第6、8行的输出结果分别是什么?请解释原因。(2)如果要求输出的两行信息都为“10”,且不增加新的语句,应如何修改该程序?
阅读下面的程序,并回答以下问题: (1)程序第6、8行的输出结果分别是什么?请解释原因。 (2)如果要求输出的两行信息都为“10”,且不增加新的语句,应如何修改该程序?
(1)程序第6,8行的输出结果分别为:1、4。原因:第4行代码创建 Vector的实例v时指定了v的初始容量为1,待空间用尽后每次递增3个元素空间。第5行代码执行后v中有一个字符串元素,此时容量够用,所以不用增加空间,所以第6行代码输出Ⅴ的容量为1.当执行第7行代码时,发现v的容量已用尽,所以需要分配新的空间,根据第4行代码可知,每次会增加3个元素空间,所以第7行执行后,v的容量会增加3,即容量变为4,所以第8行代码输出v的容量为4。(2)应将第4行代码修改为:Vector v=new Vector(10);