Exercício 1 página 29

Exercício 1 página 29

por Cintia Yamashita -
Número de respostas: 1

Monitores,

Estou com algumas dúvidas no exercício 1 da página 29. Alguém pode tirar as minhas dúvidas em vermelho?

Grata,

class Aluno

{

  void carrega (double p1, double p2, double p3, double p4) // preciso colocar double para         todos? Não poderia colocar: (double p1, p2, p3,  p4)?

      {

   

        // Como eu carrego os valores, sem declarar os valores na classe?

   

      }

  double calcula (double media)

  {

    return (p1 + p2 + p3+ p4)/4;

     System.out.println ( "A média é" + media);

     if(c.calcula() >=5.0)

       System.out.println ("Aprovado");

     if(c.calcula() >=3.0)

        System.out.println ("Rec");

     if(c.calcula() <3.0)

      System.out.println ("Reprovado");

           

       //Todo if tem que ter um else????

  }

}

Em resposta à Cintia Yamashita

Re: Exercício 1 página 29

por Vinícius Daros -
Oi, Cintia

Você está indo bem!

Vamos à alguns esclarecimentos:
1- É preciso sim declarar "void carrega (double p1, double p2, double p3, double p4)". Não há outra maneira de declarar os parâmetros de um método.

2- Você já declarou p1, p2, p3, p4 como parâmetros que serão recebidos quando o método "carrega" for chamado. Então não há necessidade de recarregar esses valores.
Um exemplo de chamada desse método seria:
aluno.carrega(8.7, 7.2, 9.3, 7.4);
Dessa forma, p1, p2, p3 e p4 receberão 8.7, 7.2, 9.3 e 7.4, respectivamente.

3- O "return" é usado para indicar qual valor o método vai devolver. Assim, tudo o que estiver depois do "return" será pulado na hora da execução. Por isso, usa-se esse comando para a última linha do método calcula.
Mas, no caso, você quer que "media" receba o valor calculado. Então seu código ficaria assim:
void calcula()
{
double media;

media = (p1 + p2 + p3+ p4)/4;
System.out.println ( "A média é" + media);

if(media >=5.0) {
System.out.println ("Aprovado");
}

else if(media >=3.0) {
/* Entra aqui se media for menor que 5 e maior que 3. */
System.out.println ("Rec");
}

else {
/* Entra aqui se media for menor que 3. */
System.out.println ("Reprovado");
}
}

4- Não. Usar um if não implica em usar um else.

5- Lembrete: quando o if não tem abre e fecha chaves, "{" e "}", só um comando é considerado como estando dentro de seu bloco.
Veja: http://paca.ime.usp.br/mod/forum/discuss.php?d=6578#p21701.

Continue fazendo os exercícios.
Isso lhe ajuda na hora de fazer EPs e provas. =]
Abraço,

Vinícius