If e else

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

[code]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());
}

}
[/code]

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!

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

Clica duas vezes sobre a mensagem.

Funcionou??

ainda não…

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

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

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

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

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.

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; }

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

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

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

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

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

[code]
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());  
}  
  
}[/code]

eu mexi no seu código tenta assim

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());
    }