/ / Ein Array von Werten zurückgeben und jeden Wert sequentiell ausgeben - Java, Arrays, Methoden, Return

Gibt ein Array von Werten zurück und gibt jeden Wert nacheinander aus - Java, Arrays, Methoden, Return

Hey Jungs, wie gebe ich die beiden Werte getrennt aus und sequenziell bin ich von dieser Methode zurückgekehrt?

public static int[] getLargestAndSmallest (int[] numbers){      // semi-done
int largest = numbers[0];
int smallest = numbers[0];
for (int i = 0; i < numbers.length; i++){
if (numbers[i] > largest){
largest = numbers[i];
} else if (numbers[i] <= smallest){
smallest = numbers[i];
}
}
return new int[] {largest,smallest};

Hier ist was in main () Methode ist:

System.out.println(" The largest of the numbers is: " + getLargestAndSmallest(numbers));
System.out.println();
System.out.println(" The smallest of the number is: " + getLargestAndSmallest(numbers));

Diese sysouts geben mir so etwas: [I @ 55f96302 bzw. [I @ 3d4eac69]. Erklären Sie bitte, warum und wie Sie das Problem beheben ... Vielen Dank

Antworten:

0 für die Antwort № 1

Sie drucken den Wert eines Arraysein Object und ruft daher die Array.toString () -Methode auf. Standardmäßig gibt die toString () - Methode "eine Zeichenfolge zurück, die aus dem Namen der Klasse, aus der das Objekt eine Instanz ist, dem Zeichen @, und der vorzeichenlosen hexadezimalen Darstellung des Hashcodes des Objekts besteht. Mit anderen Worten, diese Methode gibt einen String zurück, der dem Wert von entspricht:

getClass (). getName () + "@" + Integer.toHexString (hashCode ()) "(aus Javadoc)

In Ihrem Fall benötigen Sie wahrscheinlich (das Array muss nicht zweimal berechnet werden):

int[] largestSmallest = getLargestAndSmallest(numbers);
System.out.println("The largest of the number is: " + largestSmallest[0]);
System.out.println("The smallest of the number is: " + largestSmallest[1]);