Problema com um método

5 respostas
M

eu criei esse método q é pra retornar 4,3,2,1 ou 0 dependendo da média de um aluno, mas aqui da um erro q diz q o metodo mediaAluno tem q retornar um valor do tipo int. Eu nao ja coloquei os returns retornando o 4,3,2,1 ou 0? pq nao da certo?

public class Aluno {

  public int mediaAluno(int media){
   
  
   if ((media<=100) && (media>=90))
    return 4;
   
   if((media<=89) && (media >=80))
    return 3;
   
   if((media<=79) && (media>=70))
    return 2;
   
   if ((media<=69) && (media >=60))
    return 1;
   
   if(media<60)
    return 0;
   }}

abraço

5 Respostas

L

O que acontece é que seu método só tem retorno de valores dentro de if’s; o que acontece por exemplo se o método receber como parâmetro um número > 100?

M

ah é verdade :roll:
mas entao oq eu devo fazer nesse caso?

J
public class Aluno {

  public int mediaAluno(int media){
   
 
   if ((media<=100) && (media>=90)) {
    return 4;
   }
   
   if((media<=89) && (media >=80)) {
    return 3;
   }
   
   if((media<=79) && (media>=70)) {
    return 2;
   }
   
   if ((media<=69) && (media >=60)) {
    return 1;
   }
   
   if(media<60) {
    return 0;
   }

   return -1;
   }}

assim, se seu metodo retornar -1, voce sabe que o usuario passou um valor que nao devia.

espero ter ajudado

S

se caso voce nao compriender oque o codigo do nosso amigo faz …tente esse

public class Aluno {

public int mediaAluno(int media){
int aux=0;

if ((media<=100) && (media>=90)) {

aux= 4;

}
if((media<=89) && (media >=80)) {

aux= 3;

}
if((media<=79) && (media>=70)) {

aux= 2;

}
if ((media<=69) && (media >=60)) {

aux= 1;

}
if(media<60) {

aux= 0;

}

return aux;
}}

C

“Saga_fuel”:
se caso voce nao compriender oque o codigo do nosso amigo faz …tente esse

public class Aluno {

public int mediaAluno(int media){
int aux=0;

if ((media<=100) && (media>=90)) {

aux= 4;

}
if((media<=89) && (media >=80)) {

aux= 3;

}
if((media<=79) && (media>=70)) {

aux= 2;

}
if ((media<=69) && (media >=60)) {

aux= 1;

}
if(media<60) {

aux= 0;

}
return aux;

}}</blockquote>

Soh que aqui temos um desperdicio.

Teria que ser usado
if()
  {

  }
  else if()
  {

  }
  else if()
  {

  }
  ....

Pra não ficar testando todas as condições caso a primeira tenha correspondido.

Falow!

Criado 2 de junho de 2005
Ultima resposta 2 de jun. de 2005
Respostas 5
Participantes 5