If e else

15 respostas
L

Boa tarde....podem me ajudar a arrumar o if e o else que estou atrapalhada com as chaves, já tentei várias formas e nunca dá certo...obrigada

package lista2ex5;

[code]import javax.swing.JOptionPane;

public class BolsasEstudo {
   private String nome;
    private double media;
    
    public double getMedia() {
        return media;
    }
    public void setMedia(double media) {
        this.media = media;
    }
    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }

public void lerDados(){
    setNome(JOptionPane.showInputDialog("Nome:  "));
    setMedia(Double.parseDouble("Media: "))   ;
    }
public double exibirRecomendacao(){
    String msg="";
    if(getMedia()>=9.0)
        msg="altamente recomendado";
       else{
          if( getMedia() >=8.0)||(getMedia ()<9.0){
             msg="fortemente recomendado ";
              } 
          else{
              if(getMedia()>=7.0)||(getMedia()<8.0){
                msg="recomendado";
              }else{
                if(getMedia()<7.0){
                msg="não recomendado ";
                }
              }
              
    }
return msg;

public String mostrar(){
return JOptionPane.showInputDialog("O aluno "+getNome()+"é"+exibirRecomendacao());
}


}

15 Respostas

esdras_63

Você esqueceu de abrir chaves no primeiro if. Sempre que tiver um while, for, if - else, etc abre-se chaves e feixa quando sair. No caso do if agente abre chaves no if, fecha e faz o else mesma coisa se tiver. Exemplo:

if (Condição) {
  //...
} else {
  //...
}

*Edite seu post para ficar mais fácil de ler com as tags code. Obrigado!

L

Obrigada pela ajuda, eu não sei onde editar…

esdras_63

Clica duas vezes sobre a mensagem.

Funcionou??

L

ainda não…

esdras_63

humm… Posta o código para nós dar uma olhada entre as tags code e /code

L

editar deu certo …eu acho…mas o código além do if com erro na variavel msg aparece a lampada amarelinha dizendo cannot find symbol

L

O que eu tenho que resolver é esse enunciado:
5 - Recomendam-se estudantes para bolsas de estudo em função de seu desempenho anterior. A natureza das recomendações
é baseada na seguinte tabela:
Média Recomendação
Média ³ 9,0 Altamente recomendado
8,0 £ Média < 9,0 Fortemente recomendado
7,0 £ Média < 8,0 Recomendado
Média < 7,0 Não recomendado
Faça um programa para ler o nome e a média de um aluno e determinar sua recomendação. O programa deverá exibir a
seguinte mensagem:
O aluno ____________ é __________________.

  • @author luciane
esdras_63

A lâmpada amarelinha apenas trás um aviso ou sugestão. Tente rodar o aplicativo e ver como está funcionando.

esdras_63

Outra coisa. No método exibirRecomendação você está retornando um double onde no caso deve retornar void. Você precisa apenas mostrar pelo JOptionPane.showMessageDialog(null, “Texo vai aqui”);

Acho que é mais ou menos isso.

romarcio

1° o seu retorno deve ser alterado de double para String, já que você vai retornar uma mensagem.
2° você deve usar no if a condição AND(&&) e não OR(||). Por que se vc tiver o valor 7 e usar OR no 1° "else if(getMedia() >= 8.0) || (getMedia() < 9.0)" a condição "(getMedia() < 9.0)" será aceita e não pode acontecer, por isso deve usar AND.

public String exibirRecomendacao(){ String msg=&quot;&quot;; if(getMedia()&gt;=9.0) { msg=&quot;altamente recomendado&quot;; } else if(getMedia() &gt;= 8.0)&&(getMedia() &lt; 9.0) { msg=&quot;fortemente recomendado &quot;; } else if(getMedia() &gt;= 7.0)&&(getMedia() &lt; 8.0) { msg=&quot;recomendado&quot;; } else if(getMedia() &lt; 7.0) { msg=&quot;não recomendado &quot;; } return msg; }

L

olha…eu copiei e colei no meu código o tu enviou…mas continua dando erro, expected “;”

esdras_63

Tente colocar abrindo chaves depois dos elses. Daquela forma que te mostrei.

if (...) {
  ...
} else {
  ...
}
romarcio

Lucastilhos:
olha…eu copiei e colei no meu código o tu enviou…mas continua dando erro, expected “;”

Tira os parenteses entre o && --> )&&( deixa assim: &&

D
import javax.swing.JOptionPane;  
      
    public class test 
    {  
       private String nome;  
        private double media;  
          
        public double getMedia()
        {  
            return media;  
        }  
        public void setMedia(double media)
        {  
            this.media = media;  
        }  
        public String getNome() 
        {  
            return nome;  
        }  
        public void setNome(String nome)
        {  
            this.nome = nome;  
        }  
      
    public void lerDados()
    {  
        setNome(JOptionPane.showInputDialog("Nome:  "));  
        setMedia(Double.parseDouble("Media: "))   ;  
        }  
    public double exibirRecomendacao()
    {  
        String msg="";  
        if(getMedia()>=9.0)  {
            msg="altamente recomendado"; 
        }
           else if( getMedia() >=8.0 || getMedia ()<9.0){  
                 msg="fortemente recomendado ";  
                  }   
              else if(getMedia()>=7.0 || getMedia()<8.0)
              {  
                    msg="recomendado";  
                  }else{  
                    msg="não recomendado ";
                    }
        
		return media; 
                  }  
 
    public String mostrar(){  
    return JOptionPane.showInputDialog("O aluno "+getNome()+"é"+exibirRecomendacao());  
    }  
      
    }

eu mexi no seu código tenta assim

romarcio

Outra coisa, faz as seguintes trocas:

public void lerDados(){  
    setNome(JOptionPane.showInputDialog("Nome:  "));  
    //setMedia(Double.parseDouble("Media: "))   ; 
    setMedia(Double.parseDouble(JOptionPane.showInputDialog("Media:  "))); 
    } 

    public /*String*/ void mostrar(){
        //return JOptionPane.showInputDialog("O aluno "+getNome()+"é"+exibirRecomendacao());   
        JOptionPane.showMessageDialog(null, "O aluno "+ this.nome + " é " + exibirRecomendacao());
    }
Criado 18 de setembro de 2011
Ultima resposta 18 de set. de 2011
Respostas 15
Participantes 4