2016-07-23 18 views
0

このプログラムは、リスト項目を変更するためのもので、上に定義されています。変更されたバージョンをコンソールに印刷するのに問題があるようです。こんにちは!

修正するための効率的な点について、いくつかのヒントを得ることができますか?

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(); 
    } 
} 

ありがとうございます!

+0

動作しますあなたのModifyメソッドを変更します。 – shivam

+0

私はちょうど実現しました - 印刷は問題の焦点です。将来私の質問があまりにも曖昧にならないように努めます。 – JaaS

+0

_これは機能していませんか? 'System.out.println(items);'は、 'modify(items)'が最初にそれらを削除しなかったので、あなたのアイテムを出力しなければなりません。プログラムが実行されるときに何が起こるかは、与えられた入力に依存します。 –

答えて

0

は、それがコードを印刷している何

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

ありがとうございます!プログラムも正しく出力されています。 – JaaS

+0

@ HeiwajimaSidekick22あなたはforループで 'i ++'を忘れました! :) –