你好!我打印时遇到问题(Java)

时间:2016-07-23 00:05:43

标签: java

该程序旨在修改列表项(在顶部定义),并且似乎无法将修改后的版本打印到控制台。

我可以获得一些关于修改的地方(以及效率)的提示吗?

    import java.util.*;
    public class Quiz4 {
    public static class ItemHolder{

        private List<Integer> items = new ArrayList<>();

        public List<Integer> getItems(){
            return items;
        }

        public void addItems(Integer item){
            items.add(item);
        }

        public int size(){
            return items.size();
        }

        public String toString(){
            return items.toString();            
        }

        public void remove(Object obj) {
            items.remove(obj);  
        }   
        public boolean equals(int a, int b){
            boolean ret = false;
            if (a == b){
                ret = true;
            }
            return ret;
        }

        public int get(int index){
            return items.get(index);
        }
    }

    public static ItemHolder modify(ItemHolder items){
        for (int i = 0; i < items.size(); ){
            if(items.get(i) == (items.get(i+1))){
                items.remove(items.get(i));
             }  
         }
         return items;
    }

     public static void main(String[] args){
        ItemHolder items = new ItemHolder();
        Scanner up = new Scanner(System.in);

        items.getItems();
        for (int i = 0; i < 6; i++){
            System.out.println("Please enter number. -1 to quit");
            String input = up.nextLine();
            int check = Integer.parseInt(input);
             if (check >= 0){
                items.addItems(check);
            }
            else{
            continue;
            }
        }
        modify(items);
        System.out.println(items);
        up.close();
    }
}

谢谢!

1 个答案:

答案 0 :(得分:0)

修改您的修改方法

for (int i = 0; i < items.size()-1;i++ ){
    if(items.get(i) == (items.get(i+1))){
        items.remove(items.get(i));
     }