/ / Retorna uma matriz de valores e gera cada valor seqüencialmente - java, arrays, methods, return

Retornar uma matriz de valores e gerar cada valor seqüencialmente - java, arrays, methods, return

Olá pessoal, como eu faço a saída dos dois valores separadamente e sequencialmente eu retornei desse método?

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

Aqui está o que está no método 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));

Estes sysout me dão algo assim: [I @ 55f96302 e [I @ 3d4eac69, respectivamente. Por favor, explique por que e como corrigir ... muito obrigado

Respostas:

0 para resposta № 1

Você está imprimindo o valor de uma matriz, que éum objeto, portanto, chamando o método Array.toString (). Por padrão, o método toString () retornará "uma string que consiste no nome da classe da qual o objeto é uma instância, o caractere arroba` @ "e a representação hexadecimal não assinada do código hash do objeto. Em outras palavras, esse método retorna uma string igual ao valor de:

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

Então, no seu caso, você provavelmente precisará (evitando calcular o array duas vezes):

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