[duvida-algoritmo] mostra os dois maiores

4 respostas
R

Boa tarde,

tava fazendo os exercicios do deitel e travei no exercicio q tem q pedir a entrada de 5 usuarios com numeros inteiros e no final mostra o maior numero e o segundo maior numero.

obs: sem array :cry:

meu codigo ta assim
package br.com.deitel.capitulo04.exercicios;

import java.util.Scanner;



public class Exerc11 {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int contador = 1;
		int entradas = 0;
		int numero;
		int primeiroMaior = 0;
		int segundoMaior = 0;
		
		System.out.printf("\n%S:", "total de entradas");
		entradas = scan.nextInt();
		
		while(contador <= entradas){
			System.out.println("\n_________________________________________________________");
			System.out.printf("\n%S %d:", "entrada numero", contador);
			numero = scan.nextInt();
			
			if(numero > primeiroMaior){
				primeiroMaior = numero;
			}
			if(numero > segundoMaior && numero < primeiroMaior){ // aqui ta errado!!!
				segundoMaior = numero;
			}
			
			contador++;
		}//fim while
		
		System.out.println("\n_________________________________________________________");
		System.out.printf("\n%S: %d", "maior entrada", primeiroMaior);
		System.out.printf("\n%S: %d", "segunda maior entrada", segundoMaior);
	}
}

4 Respostas

romarcio

Acho que ao invés disso:

if(numero > primeiroMaior){  
                 primeiroMaior = numero;  
             }  
             if(numero > segundoMaior && numero < primeiroMaior){ // aqui ta errado!!!  
                 segundoMaior = numero;  
             }

Poderia fazer só isso:

if(numero > primeiroMaior) { 
                 segundoMaior = primeiroMaior;  
                 primeiroMaior = numero; 
             }
R

nao deu certo nao, debuguei aqui e nao rolou, a variavel segundo maior nao fica zerada sempre

romarcio

Foi mal, esqueci do else:

if (numero > primeiroMaior) {
                segundoMaior = primeiroMaior;
                primeiroMaior = numero;
            } else if (numero > segundoMaior && numero != primeiroMaior){
                segundoMaior = numero;
            }
R

ai sim! agora foi, valeu

Criado 17 de setembro de 2010
Ultima resposta 17 de set. de 2010
Respostas 4
Participantes 2