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
Sie Schleife haben über und jedes Element eines Arrays ausdrucken. 'System.out.println (Array)' macht nicht, was Sie denken, dass es tut. – Kevin
@Kevin - Keine Schleife über alle Elemente erforderlich. Es gibt die praktischen 'java.util.Arrays.toString (...)' Methoden. :) –
@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