2016-07-23 20 views
0

Das Programm ist dazu gedacht, die Listenelemente (oben definiert) zu ändern, und es scheint zu trösten Probleme beim Drucken der modifizierten Version.Hallo! Ich habe Probleme beim Drucken (Java)

kann ich einige Tipps, wo (und vielleicht auch was für Effizienz) zu ändern?

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

Vielen Dank!

+0

arbeiten Was Druck-Code ist. – shivam

+0

Ich habe gerade festgestellt - Druck steht im Mittelpunkt der Frage. Ich werde daran arbeiten, dass meine Fragen in Zukunft so vage bleiben. – JaaS

+0

_How_ funktioniert das nicht? 'System.out.println (items);' sollte Ihre Artikel drucken, da 'modify (items)' diese nicht zuerst entfernt hat. Was passiert, wenn das Programm ausgeführt wird, hängt von der Eingabe ab. –

Antwort

0

Ändern Sie bitte Ihre Modify-Methode wird es

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

Vielen Dank! Das Programm wird auch korrekt ausgegeben. – JaaS

+0

@ HeiwajimaSidekick22 Sie haben nur 'i ++ 'in For-Schleife vergessen! :) –

Verwandte Themen