Código peso e e altura

olá pessoal preciso de ajuda nesse código aqui

public static void main(String[] args) {
    // 1 posição
    int c;
    String[] nome = new String[1];
    Double[] h = new Double[2];   
    Double[] p = new Double[2];
   double mh;
   double mp;
   int aux, aux2;
   Scanner console = new Scanner( System.in );
   c = Integer.parseInt(console.nextLine());

   while (c < 2) {
System.out.println(c = c + 1);
   }   
System.out.print("NOME: ");
nome[c] =console.nextLine(); // String
System.out.print("PESO: ");
p[c] = Double.parseDouble(console.nextLine());
System.out.print("ALTURA: ");
h[c] = Double.parseDouble(console.nextLine());

mh =  Double.parseDouble(console.nextLine()); // double
mp =  Double.parseDouble(console.nextLine()); // double
aux = Integer.parseInt(console.nextLine());
aux2 = Integer.parseInt(console.nextLine());

if (h[c] > mh) {
if ( mh == h[c])
if (aux == c)

if (p[c] > mp) {
if (mp == p[c])
if (aux2 == c))
}
}

System.out.println("O maior peso é de "+ nome[aux2]+ " pesando: "+ mp+ "Kg"); 
System.out.println("A maior altura é de "+ nome[aux]+ "medindo: "+ mh+ "m");

}
}

só tem um errinho que e
essas duas ultimas barras, elas dão muito erro e ja tentei tira colocar, fiz muita coisas mais ainda nada vocês poderiam me ajudar por favor ? agradeço desde já

if (aux2 == c))
    }
    }

Você abriu 6 blocos if e só fechou 2???

sim, por quer no código que eu estava seguindo como orientação ele só fecha esses dois por quer e um if dento de outro, que em Portugol que eu estava seguindo estava assim .

var
    c: inteiro
    nome:vetor[1..2]de caractere
    h: vetor[1..2]de real
    p: vetor[1..2]de real
    mh: real
    mp: real
    aux, aux2: inteiro
inicio
     enquanto (c < 2) faca
     c <- c + 1
     escreva("NOME: ")
     leia(nome[c])
     escreva("PESO: ")
     leia(p[c])
     escreva("ALTURA: ")
     leia(h[c])
     limpatela
       Se(h[c] > mh) entao
       mh <- h[c]
       aux <- c
        Se(p[c] > mp) entao
       mp <- p[c]
       aux2 <- c
        fimse
       fimse
     fimenquanto
     escreval("O maior peso é de ", nome[aux2], " pesando: ", mp, "Kg")
     escreval("A maior altura é de ", nome[aux], "medindo: ", mh, "m")
fimalgoritmo

não sei isso de portugal, mas se você abriu um bloco if deve fechar em algum lugar.
logico que vai dar erro assim.

mesmo assim ele continua dando erro na hora da execução

Você tem que prestar atenção no código que está reescrevendo
Você pegou esse se abaixo:

Se(h[c] > mh) entao
    mh <- h[c]
    aux <- c

E transformou em 3 if:

if (h[c] > mh) {
    if ( mh == h[c])
        if (aux == c)

Isso está errado, deveria ser assim:

if (h[c] > mh) {
    mh = h[c];
    aux = c;
}
1 curtida

mh <- h[c]

isso é um tipo de atribuição nesse tal de portogal ???

bem ainda da erro, que e o seguinte

run:
3
NOME: v
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
	at exercício_113.Exercício_113.main(Exercício_113.java:66)
C:\Users\NYCOLAS\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
FALHA NA CONSTRUÇÃO (tempo total: 5 segundos)

e o código atual e esse aqui

        public static void main(String[] args) {
            // 1 posição
            int c;
            String[] nome = new String[1];
            Double[] h = new Double[2];   
            Double[] p = new Double[2];
           double mh;
           double mp;
           int aux, aux2;
           Scanner console = new Scanner( System.in );
           c = Integer.parseInt(console.nextLine());

           while (c < 2) {
    System.out.println(c = c + 1);
           }   
    System.out.print("NOME: ");
    nome[c] = console.nextLine(); // String
    System.out.print("PESO: ");
    p[c] = Double.parseDouble(console.nextLine());
    System.out.print("ALTURA: ");
    h[c] = Double.parseDouble(console.nextLine());

    mh =  Double.parseDouble(console.nextLine()); // double
    mp =  Double.parseDouble(console.nextLine()); // double
    aux = Integer.parseInt(console.nextLine());
    aux2 = Integer.parseInt(console.nextLine());
    
    if (h[c] > mh) {
    mh = h[c];
    aux = c;
}

    if (p[c] > mp) {
    mp = p[c];
    aux2 = c;
}
 

    System.out.println("O maior peso é de "+ nome[aux2]+ " pesando: "+ mp+ "Kg"); 
    System.out.println("A maior altura é de "+ nome[aux]+ "medindo: "+ mh+ "m");

     
    }
    }

aquele erro de cima e quando executa o código

e uma Operação recebe

a <- b

Portugol, não portugal.
A expressão x <- y, é lida como x recebe y, ou seja, o <- é o operador de atribuição.
No Brasil geralmente introdução à programação e algoritmos são ensinados em portugol.

Duplicado de Peso e altura .

1 curtida