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:

Opa,

para verificar o maior número dentre estes cinco números fica mais fácil fazer assim:

if (a > b && a > c && a > d && a > e ) // a é o maior if (b > c && b > d && b > e ) // b é o maior if (c > d && c > e ) // c é o maior if (d > e ) // d é o maior else // e é o maior

:joia:

Olá pcassiano,

[quote] if (a < b | a < c | a < d | a < e) { // "a" menor que todos System.out.printf ("Este e o menor deles: %d\n", a); }[/quote]

Pra o número “a” ser o menor de todos, ele dever menor do que “b” E menor do que “c” E menor do que “d” E menor do que “e”. Você colocou com OU, bastando “a” ser menor do que qualquer número pra ele ser considerado o menor de todos. O que não é assim.

if (a < b && a < c && a < d && a < e) { // "a" menor que todos System.out.printf ("Este e o menor deles: %d\n", a); }

Até mais, :wink:

Salve!

PessoALL, obrigado pelas dicas. Na verdade, cometi o lapso de trocar && por |… :oops:

Coisa de principiante.

Um forte abraço a todos! :wink: