跳出循环才重新执行

来源:互联网 发布:mathematica软件下载 编辑:程序博客网 时间:2024/06/15 06:07

想讲jk项目里的打印模式改变,雨来的打印模式是前个商品和后面一个商品对比,如果是同一个名字则一起打印,不是就单独打印,这样觉得不好,因此我觉得重新写个程序

现在用数字代替

public void test(){List list = new ArrayList();list.add(1);list.add(2);list.add(3);list.add(4);list.add(5);list.add(1);list.add(7);list.add(2);list.add(9);list.add(1);list.add(1);boolean can=false;for (int i=0; i<list.size() ; i++) {System.out.println("轮数"+i+"-------"+list.size());int object = (int) list.get(i);System.out.println(object+"--"+i);for(int j=i+1;j<list.size();j++){if(list.get(j).equals(list.get(i))){System.out.println(list.get(j));list.remove(i);System.out.println("移除j:"+list.get(j-1));list.remove(j-1);System.out.println("j:"+(j-1));System.out.println("i:"+i);can=true;break ;}}if(can){i=-1;System.out.println("判断"+i);can=false;}}for (Object object : list) {System.out.print(object);}}

这里先在for循环外面写个boolean can 设定false ,里面两个循环,1循环设定一个变量i,2循环设定的变量是j=i+1

像冒泡排序,如果取出1里的liist只和2对比,如果一样,移除2个,break中断循环,参变为ture,

在2循环外判断can,把变为-1,这里是-1,不是0,因为如果是1循环里面的循环是i++,这样出来的循环是0开始,在设置

can=false