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??
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 ____________ é __________________.
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="";
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;
}
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());
}