ArrayList 用 iterator遍历问题

不管1和2哪一句存在,或者两句都不存在,打印出的结果都是12372474494898969896494824741237请问这个是有什么问题呢?为什么没办法控制list中... 不管1和2哪一句存在,或者两句都不存在,打印出的结果都是
1237
2474
4948
9896
9896
4948
2474
1237
请问这个是有什么问题呢?为什么没办法控制list中数据的打印顺序呢?
展开
 我来答
yl_shadow
2015-07-31 · TA获得超过960个赞
知道小有建树答主
回答量:257
采纳率:66%
帮助的人:379万
展开全部
问题根本不在于list中的数据顺序,而在于你用了递归却不理解递归。
你的list是局部变量,每层调用中的list都是不同的对象,整个方法中只有一次list.add(n),那么每层调用中的list中其实只有一个元素,这当然无论反转还是排序都没有任何效果,整个输出for循环就相当于一句System.out.println(n)。
所以你的doublenum方法其实就是这样的:
doublenum{
输出n;
如果n<5000,doublenum(2*n);
输出n;
}
再加上你输入的初始数据1237,按照递归调用的执行顺序输出就是那样的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式