Problemas leia 5 inteiro e resultado maior

5 respostas
jsnpereira

olá, pessoal!

tem alguns complicado, pois estou aprendendo pelo iniciante java e lendo um livro do Deitel e fazendo num exercícios, tentei várias vezes não consegui.

é um exercício lê cinco inteiro e imprimi o o maior e menor do grupo. mas ainda não fiz o menor. veja os código em baixo.

//JAVA - COMO PROGRAMAR 8 EDIÇÃO - EXERCÍCIOS 2.24
	public static void main(String[] args) {
		int a,b,c,d,e;
		
		Scanner sca = new Scanner(System.in);
		
		System.out.print("Digita primeiro número\n");
		a = sca.nextInt();
		
		System.out.print("Digita segundo número\n");
		b = sca.nextInt();
		
		System.out.print("Digita terceiro número\n");
		c = sca.nextInt();
		
		System.out.print("Digita quarta número\n");
		d = sca.nextInt();
		
		System.out.print("Digita quinto número\n");
		e = sca.nextInt();
		
		// num maior
		
		if(a>b || a>c || a>d || a>e){
			
			System.out.printf("%s é número maior",a);
			
		}
		if(b>a || b>c || b>d || b>e){
			
			System.out.printf("%s é número maior",b);
			
		}
		if(c>a || c>b || c>d || c>e){
			
			System.out.printf("%s é número maior",c);
			
		}
		if(d>a || d>b || d>c || d>e){
	
			System.out.printf("%s é número maior",d);
			
		}
		if(e>a || e>b || e>c || e>d){
			
			System.out.printf("%s é número maior",e);
			
		}

	}

o resultado ficará esse “3 é número maior5 é número maior7 é número maior5 é número maior”

acho estou meio estranho esse…

aguardo me ajuda…

5 Respostas

Danillo_Moreno

Bom dia!

Vou dar uma dica que pode te ajudar a resolver.

Faça um for para ir lendo os números e já vai comparando enquanto lê…

Quando você ler o primeiro numero, esse número será o maior e o menor.

Os próximos você vai comprando.

Ajudou?

lina

Oi,

Você poderia utilizar um array/vector de inteiro.:

Exemplo.:

int[] valores = new int[5];

// Coloque os resultados na posição deste array
System.out.print("Digita primeiro número\n");  
valores[0] = sca.nextInt();

System.out.print("Digita segundo número\n");  
valores[1] = sca.nextInt();

...

ou então, utilizando o for para armazenamento.:

int[] valores = new int[5];

for(int i = 0; i < a.length; i++){
System.out.print("Digite o "+i+"º número\n");  
valores[i] = sca.nextInt();
}

Depois de ter feito isso, para verificar o maior valor basta seguir uma lógica.

Adote que seu primeiro número é o maior valor por padrão. (int max = valores[0]);
Percorra o vetor e verifique se a próxima posição é maior do que a primeira (max). Se for, faça a substituição… que teoricamente vc terá o Maior valor.

Tchauzin!

ViniGodoy
  1. Após ler o primeiro número, crie uma variável chamada maior e atribua o valor desse número a ele.
  2. Para cada número lido seguinte, teste se o número lido é maior do que o que está na variável maior. Se for, troque o valor da variável maior para o número lido.

O mesmo processo pode ser usado para a variável menor.

E você pode usar um for para deixar o programa bem curto e simples.

Felipex159

A sua lógica esta errada!
Você esta usando (||) ao invés de (&&)!
a lógica é a seguinte se o 1° numero for maior q o 2° && 1° numero for maior q o 3°…

jsnpereira

Felipex159:
A sua lógica esta errada!
Você esta usando (||) ao invés de (&&)!
a lógica é a seguinte se o 1° numero for maior q o 2° && 1° numero for maior q o 3°…

Resolvido

Acabei de testar a executar a programa e funcionou tudo corretamente.

valeu! muito obrigado para todos que me ajudaram…

Criado 16 de junho de 2010
Ultima resposta 16 de jun. de 2010
Respostas 5
Participantes 5