Ajuda com a seguinte logica

6 respostas
renatorudolf

Boa noite

Gostaria de uma ajuda no exercicio abaixo!
Criei um aplicativo q permite inserir 10 numero inteiros e me apresentar o maior, consegui fazer; Agora preciso de uma juda de vcs na logica de como fazer para o aplicativo me mostrar os dois maiores inteiros, somente com If e while.

Vale Galera

import java.util.Scanner;
public class Localiza_maior_valor {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		int contador=1 ;
		int numero = 0 ;
		int maiorNumero=0;
		int segundoMaior=0;
	
		
	Scanner input = new Scanner ( System.in );
		
	while ( contador <= 10 )
	{
		
		System.out.printf( "Insira um numero inteiro:" );
		numero = input.nextInt();
		
	if ( numero > maiorNumero )
		maiorNumero = numero;
	
	
	contador = contador + 1 ;
		
	}
	System.out.printf ( " O maior numero é: %d \nO segundo maior numero é:%d", maiorNumero, segundoMaior );
	
	}
	}

6 Respostas

rldpv

Isso aqui resolve seu problema:

while (contador <= 10) {

            System.out.printf("Insira um numero inteiro:");
            numero = input.nextInt();

            if (numero > maiorNumero) {
                segundoMaior = maiorNumero;
                maiorNumero = numero;
            }
            contador++;
        }

:wink:

renatorudolf

Obrigado brother

funcionou inserindo os numeros na ordem crescente.
mas valew :wink:

rldpv

Acho que agora vai:

import java.util.Scanner;

public class Localiza_maior_valor {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        int contador = 1;
        int numero = 0;
        int maiorNumero = 0;
        int segundoMaior = 0;


        Scanner input = new Scanner(System.in);

        while (contador <= 10) {

            System.out.printf("Insira um numero inteiro:");
            numero = input.nextInt();

            if (numero > maiorNumero) {
                segundoMaior = maiorNumero;
                maiorNumero = numero;
            }
            if(numero < maiorNumero){
                if(numero > segundoMaior){
                    segundoMaior=numero;
                }
            }
            contador=contador+1;
        }

        System.out.printf(" O maior numero é: %d \nO segundo maior numero é:%d", maiorNumero, segundoMaior);

    }
}
renatorudolf

Agora funcionou !!
Muito Obrigado novamente. :wink:
Desculpa a pergunta é só curiosidade.
Vc trampa na erea ?
Fez algum curso ? ou aprendeu sozinho com algum livro.

rldpv

renatorudolf:
Agora funcionou !!
Muito Obrigado novamente. :wink:
Desculpa a pergunta é só curiosidade.
Vc trampa na erea ?
Fez algum curso ? ou aprendeu sozinho com algum livro.

Ainda não trabalho na área, mas prentendo. E aprendi com um curso, que ainda estou fazendo.

Marcio_Duran

rldpv:
renatorudolf:
Agora funcionou !!
Muito Obrigado novamente. :wink:
Desculpa a pergunta é só curiosidade.
Vc trampa na erea ?
Fez algum curso ? ou aprendeu sozinho com algum livro.

Ainda não trabalho na área, mas prentendo. E aprendi com um curso, que ainda estou fazendo.

Seria possivel reduzir ainda essa linha de codigo ???

Criado 20 de junho de 2009
Ultima resposta 20 de jun. de 2009
Respostas 6
Participantes 3