Como imprimir o menor e o maior número?

Salve!

Estava estudando o livro do Deitel, e num dos exercícios ele pede que:

1) Seja criado um aplicativo que leia 5 números e imprima o menor deles e o maior deles;
2) Usando apenas o que ele ensinou no Cap. 2;

(Não preciso dizer que estou no começo do livro, e ele me “forçou” a ser “braçal” na codificação…)

Sendo assim, olha o que codifiquei:

/* Exercício 2.24, Pág. 55 */

import java.util.Scanner;

public class Pag55e224 {

	public static void main (String args[]) {

		Scanner input = new Scanner (System.in);

		int a;
		int b;
		int c;
		int d;
		int e;

		System.out.print ("Digite o 1o numero: ");
		a = input.nextInt();

		System.out.print ("Digite o 2o numero: ");
		b = input.nextInt();

		System.out.print ("Digite o 3o numero: ");
		c = input.nextInt();

		System.out.print ("Digite o 4o numero: ");
		d = input.nextInt();

		System.out.print ("Digite o 5o numero: ");
		e = input.nextInt();

		if (a < b | a < c | a < d | a < e) { // "a" menor que todos

			System.out.printf ("Este e o menor deles: %d\n", a);

		}

			if (a > b | a > c | a > d | a > e) { // "a" maior que todos

				System.out.printf ("Este e o maior deles: %d\n", a);
                 
                        // E assim sucessivamente...

Mas não consegui o resultado esperado… :cry:

Sei que existem formas mais inteligentes de criar este tipo de aplicativo, mas, seguindo a orientação dele, como eu deveria codificar este aplicativo? :oops:

Um forte abraço a todos! :wink:

Salve!

PessoALL, na verdade, cometi o lapso de trocar && por |… :oops:

Coisa de principiante.

Um forte abraço a todos! :wink:

Use a cabeça: faça a verificação de quem é o maior e o menor enquanto estiver lendo os números.

Mostre-me como!

Lembre-se: tô começando agora :wink:

Você tem que melhorar sua lógica de programação. Compra algum livro de algorítmo.
Mas, para você não ficar na dúvida, a solução pode ser assim:

import java.util.Scanner;

public class MaiorMenor2 {

public static void main (String args[]) {

Scanner input = new Scanner (System.in);

int numero;
    int maior;
    int menor;

System.out.print ("Digite o 1o numero: ");
 	numero = input.nextInt();
    maior = numero; // o 1o. número informado vai ser o maior
    menor = numero; // e também o menor

System.out.print ("Digite o 2o numero: ");
 	numero = input.nextInt();
    if(numero > maior) maior = numero; // aqui eu verifico se o 2o número é maior que o 1o.
    if(numero < menor) menor = numero; // aqui eu verifico se o 2o número é menor que o 1o.
    //...
    //...
    //...
    
System.out.println ("O maior número é:" + maior);
System.out.print ("O menor número é:" + menor);  		
}

}

Lembrando que essa forma não é a mais adequada. Nesses casos você deve usar um for ou while.

T+

Márcio D. Carvalho