[Resolvido]

  
  int alturaMaior=0;      
  int alturaMenor=999999999;      
  int numeroEscMaio=0;
  int numeroEscMenor=0;
  int mediaGru=0;     
  int quant=0;     
      
       do {            
       
        String  aux=  JOptionPane.showInputDialog("informe o numero de escrição");
         numeroEscMaio= Integer.parseInt(aux);
        
        aux =  JOptionPane.showInputDialog("informe a altura");
         alturaMaior=Integer.parseInt(aux);  
         
          
         mediaGru+=alturaMaior;
         quant++;
         
         if (alturaMaior>alturaMaior){
             alturaMaior=alturaMaior;
                   
           numeroEscMaio=numeroEscMaio;  
         }  
         if (alturaMenor<alturaMenor){
             alturaMenor=alturaMenor;
            numeroEscMenor=numeroEscMaio;
         }
         
           
        } while (numeroEscMaio !=0 ||numeroEscMenor!=0);
         
        JOptionPane.showMessageDialog(null,"A altura maior é :"+alturaMaior +"e seu numero de incrição é "+numeroEscMaio);
        JOptionPane.showMessageDialog(null,"A altura menor é :"+alturaMenor+" e seu numero de incrição é "+numeroEscMenor);
        JOptionPane.showMessageDialog(null,"a altura media do grupo é "+(mediaGru/quant)  );
        
        
    } 

queria que leia n pares de valores, sendo o primeiro valor
o número de inscrição de um atleta por exemplo o segundo a
altura (em cm) do atleta e informe:
a) o número de inscrição e a altura do atleta mais alto;
b) o número de inscrição e a altura do atleta mais baixo;
c) a altura média do grupo de atletas.
A leitura deveria ser finalizada quando o numero de escrição era zero ,

desde ja obrigado

Adicione a seguinte instrução na linha 12:

 if(numeroEscMaio==0) break;

O break quebra a execução do laço de repetição. Esta não é a única maneira de resolver esse impasse,mas, por hora, creio que essa seja a mais simples.

if (alturaMaior>alturaMaior){
alturaMaior=alturaMaior;

???

e q situação, x seria maior x?

quando o usuario informar um numero maior ja registrado até o momento …

porque é o seguinte , quero que o programa informe o atleta maior e o atleta menor , e a saida
deve constar o numero de incrição do maior e o numero de inscrição do atleta menor .
e a media das alturas dos atletas

dioni deivid dors,

Percebe que a comparação abaixo retornará sempre falso, não importa o conteúdo da variável alturaMaior?

if (alturaMaior>alturaMaior){  

Então o programa nunca vai entrar nesse if. alturaMaior é sempre igual a alturaMaior, nunca será maior.

Você precisa de uma terceira variável para guardar a altura digitada no showInputDialog. Por exemplo, altura.
Precisa também de outra variável para o número da inscrição.


        String  aux=  JOptionPane.showInputDialog("informe o numero de inscrição");  
        numeroInsc= Integer.parseInt(aux);

        aux =  JOptionPane.showInputDialog("informe a altura");  
        altura=Integer.parseInt(aux);    
                  
        if (altura>alturaMaior){  
            alturaMaior=altura;    
            numeroInscMaior=numeroInsc;               
        }    

        if (altura<alturaMenor){  
            alturaMenor=altura;  
            numeroInscMenor=numeroInsc;               
        }

PS:
Se você aprender a fazer “chinês” para os programas, faça para este caso que você vai entender.

blz vo testa :smiley:

entendeu meu post agora?

valeu cara , funcionou , tinha pensado nisso que vc falou quando começou a apresentar erro , mas não di bola sei la.

e entendi o que vc quis dizer, valeu ,mas a minha media ta dando valor errado , não sei porque

acertei ja :smiley:

ta funcionando como esperado :smiley:

Use a altura para calcular a média, e não a alturaMaior.

PS. Ok, tá funcionando então.

foi isso que fiz , blz valeu a todos , mas como eu coloco resolvido no post ? me fala passo a passo que ja procurei em tudo quanto é lugar

Seguinte: você vai na primeira mensagem do tópico que você criou, clica em “Editar” e altera o assunto. Escreve [RESOLVIDO] à mão mesmo.