A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Fc10232 中级黑马   /  2012-5-16 00:36  /  2417 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package it.cast.demo;
import java.util.LinkedList;
public class LinkedListDemo {
    public static void main(String[] args) {
        LinkedList<String> link = new LinkedList<String>();
        link.add("A");
        link.add("B");
        link.add("X");
        link.add("Y");
        System.out.println("以FIFO的方式输出");
        for(int i = 0;i<link.size();i++){
            System.out.print(link.poll()+"、");
        }
    }
}


以上程序的结果:A、B、X




5 个回复

倒序浏览
{:soso__8961432591078930798_3:}
版主加分呀 ·····
回复 使用道具 举报
for(int i = 0;i<link.size();i++){
            System.out.print(link.poll()+"、");
}

楼主主要错误就出在这个循环上,其实还不好发现,呵
每次循环过后执行完link.poll,一个元素就移出队列了,那么link.size就会发生改变,变化如下:
             移除前link.size()          link.poll()       移除后link.size()
(i  =  0  ):      4                           A                     3
(i  =  1  ):      3                           B                     2
(i  =  2  ):      2    //此时不满足 i < link.size()条件了,跳出循环
所以结果就输出了A和B

我用楼主代码输出结果是A和B,至于楼主说的出现A B X,我想也许是你的条件当时用的是i<=link.size()吧
希望能帮到你。

评分

参与人数 1技术分 +1 收起 理由
职业规划-刘倩老师 + 1 赞一个!

查看全部评分

回复 使用道具 举报
云惟桉 发表于 2012-5-16 00:56
for(int i = 0;i

嗯  说的很对。。:lol
回复 使用道具 举报
云惟桉 发表于 2012-5-16 00:56
for(int i = 0;i

嗯  说的很对。。:lol
回复 使用道具 举报
本帖最后由 Fc10232 于 2012-5-16 01:06 编辑

哇······················UID是什么?  我的好顺------>22222C:%5CUsers%5CAdministrator%5CDesktop
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马