2017-02-12 3 views
-2

Hier ist das Problem Ich arbeite an: „eine Methode schreiben, die durch den Wegfall der doppelten Werte im Array mit dem folgenden Verfahren Header ein neues Array zurück:Beseitigung Dubletten in einem Array

public static int [] eliminateDuplicates (int [] list)

Schreiben Sie ein Testprogramm, das zehn Ganzzahlen einliest, die Methode aufruft und das Ergebnis anzeigt. " Hier

ist der Code, den ich habe:

public static void main(String[] args) { 
     Scanner input = new Scanner(System.in); 
     int[] list = new int[10]; 

     System.out.print("Enter ten numbers:"); 

     for (int i = 0; i < list.length; i++) { 
     list[i] = input.nextInt(); 
     } 

     System.out.print("The distinct numbers are: "); 
     for(int i = 0; i < 10; i++){ 
      if(list[i] != -1){ 
     System.out.print(eliminateDuplicates(list)); 
      } 
     } 
} 
    public static int[] eliminateDuplicates(int[] list) { 
     for(int i = 0; i < 10; i++){ 
      for(int j = i + 1; j < 10; j++){ 
       if (list[i] == list[j]){ 
        list[i]= -1; 
        } 
      } 
     } 
     return list;   

} }

Mein Problem ist mein Ausgang wirklich seltsam ist, das ist, was ich bin immer „[I @ 55f96302 [I @ 55f96302 [I @ 55f96302 [I @ 55f96302 [Ich @ 55f96302 [I @ 55f96302 [I @ 55f96302 "

Kann mir jemand sagen, wo ich falsch liege? Oder ein Vorschlag, wo man anfangen sollte, es zu reparieren? Ich bin noch ein Anfänger, also habe ich nicht viel gelernt (wie Hashsets oder so).

Sie haben meine vielen Dank

+0

Sie Schleife haben über und jedes Element eines Arrays ausdrucken. 'System.out.println (Array)' macht nicht, was Sie denken, dass es tut. – Kevin

+0

@Kevin - Keine Schleife über alle Elemente erforderlich. Es gibt die praktischen 'java.util.Arrays.toString (...)' Methoden. :) –

+0

@TedHopp Fair genug, aber das macht immer noch eine Schleife, es ist nur, dass 'Arrays.toString' die Schleife für Sie geschrieben hat. Aber, ja, das ist eine bessere Lösung. – Kevin

Antwort

0
System.out.println(Arrays.toString(eliminateDuplicates(list))); 
+1

Bitte [bearbeiten] Sie Ihre Antwort, um eine Erklärung zu enthalten, wie diese die Frage beantwortet, anstatt nur etwas Code hier abzulegen. –

Verwandte Themen