想讲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