显示商品时走到while循环直接跳出,不输出,这是怎么回事

显示商品时走到while循环直接跳出,不输出,这是怎么回事

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
private Set<Goods> goodSet=new HashSet<Goods>();// 存储商品的容器
 
    // 构造方法
    public GoodsManage() {
 
    }
 
    // getter和setter方法
    public GoodsManage(Set goodSet) {
        this.goodSet = goodSet;
    }
 
    public Set getGoodSet() {
        return goodSet;
    }
 
    public void setGoodSet(Set goodSet) {
        this.goodSet = goodSet;
    }
 
    // 商品信息导入
    public void importGoods() {
        Goods g1 = new Goods("s001""手机"132"android手机");
        Goods g2 = new Goods("s002""水杯"56"不锈钢水杯");
        Goods g3 = new Goods("s003""笔记本电脑"4999"14寸笔记本电脑");
        goodSet.add(g1);
        goodSet.add(g2);
        goodSet.add(g3);
        this.setGoodSet(goodSet);
        System.out.println("商品讯息导入");
        System.out.println("导入成功!!!");
         
    }
 
    // 显示所以商品信息
    public void displayAllGoods() {
        System.out.println("显示所有商品信息\n所有商品信息为:");
        Iterator<Goods> it =goodSet.iterator();
        while (it.hasNext()) {
            System.out.println(it.next() + " ");
        }
    }


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕珊 2017-10-02 22:44:58

从这段代码看不出问题,有可能是导入商品和显示商品的方法不是用同一个对象调用,也就不是一个集合,你可以贴一下完整代码看看。祝学习愉快!

  • 这就是商品管理类的所以代码,准确的说 while (it.hasNext()) 是能执行的但是执行完就跳过it.next()直接退出,也就是说整个循环只有it.next()这一句没执行。
    2017-10-02 22:53:57
  • 目前这段代码本身看不出你提的问题,这只是个实体类,你所描述的场景需要结合外部调用的代码进行综合分析。
    2017-10-03 10:55:36
  • 我有重新提问了一个,麻烦你看下,测试类跟商品类都有
    2017-10-03 11:04:48
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师