/ / Vráti pole hodnôt a výstup každej hodnoty postupne - java, polia, metódy, návrat

Vráťte pole hodnôt a postupne vystupujte jednotlivé hodnoty - java, polia, metódy, návrat

Ahoj kluci, ako môžem výstup dvoch hodnôt samostatne a postupne som sa vrátil z tejto metódy?

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

Tu je to, čo je v metóde main ():

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

Tieto sysout mi dávajú niečo podobné: [I @ 55f96302 a [I @ 3d4eac69, resp. Vysvetlite prečo a ako opraviť ... veľmi pekne ďakujem

odpovede:

0 pre odpoveď č. 1

Tlačíte hodnotu poľa, ktoré jeobjekt, preto zavolá metódu Array.toString (). V predvolenom nastavení metóda toString () vráti "reťazec pozostávajúci z názvu triedy, ktorej objekt je inštancia, znaku znaku" @ "a hexadecimálneho zobrazenia hash kódu bez znamienka. Inými slovami, táto metóda vracia reťazec rovný hodnote:

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

Takže vo vašom prípade budete pravdepodobne potrebovať (vyhnúť sa výpočtu poľa dvakrát):

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]);