[code]public class Calculos {
Dados dados = new Dados();
if(dados.getSexo().equals("Feminino")){
if (dados.getImc() < 19.1) {
dados.setImpresult(" Abaixo do peso");
} else if (dados.getImc() >= 19.1 && dados.getImc() < 25.8) {
dados.setImpresult("no peso normal");
} else if (dados.getImc() >= 25.8 && dados.getImc() < 27.3) {
dados.setImpresult("Marginalmente acima do peso");
} else if (dados.getImc() >= 27.3 && dados.getImc() < 31.3) {
dados.setImpresult("Acima do peso ideal");
} else {
dados.setImpresult("Obeso");
}
} else { // CASO SEJA HOMEM
if (dados.getImc() < 20.7) {
dados.setImpresult(" Abaixo do peso");
} else if (dados.getImc() >= 20.7 && dados.getImc() < 26.4) {
dados.setImpresult("no peso normal");
} else if (dados.getImc() >= 26.4 && dados.getImc() < 27.8) {
dados.setImpresult("Maginalmente acima do peso");
} else if (dados.getImc() >= 27.8 && dados.getImc() < 31.1) {
dados.setImpresult("Acima do peso ideal");
} else {
dados.setImpresult("Obeso");
}
}
}[/code]
Segue imagem do erro…
Não consigo entender, por que ele não aceita o .equals =\
Esse getSexo,
retorna uma String da classe Dados ‘-’
Tente colocar esse código dentro de um método main.
tentei fazer o seguinte:
[code]String sexy= dados.getSexo();
if(sexy.equals("Feminino"))[/code]
mas o mesmo erro é retornado… ;S
o sexy, aceita o getSexo
mas não consigo fazer a comparação
O problema é que o meu main ja ta na classe Calculadora
Não tem msg de erro…
o problema é que no sugest não aparece o equals
e quando eu for a fazer o .equals, eu tenho aquele

Pode postar o fonte da classe Dados?
[code]public class Dados {
Calculadora calculadora = new Calculadora();
private double peso;
private double altura;
private String sexo;
private String impresult;
private double imc;
public String getImpresult() {
return impresult;
}
public void setImpresult(String impresult) {
this.impresult = impresult;
}
public double getImc() {
return imc;
}
public void setImc(double imc) {
this.imc = imc;
}
// public boolean versexo;
public double getAltura() {
return altura;
}
public void setAltura(double altura) {
this.altura = altura;
}
public double getPeso() {
return peso;
}
public void setPeso(double peso) {
this.peso = peso;
}
public String getSexo() {
return sexo;
}
public void setSexo(String sexo) {
if(calculadora.jrFeminino.isSelected()){
this.sexo ="Feminino";
}
else if(calculadora.jrMasculino.isSelected()){
this.sexo="Masculino";
}
else{
sexo = "Não informado";
}
}
}[/code]
O seu código da classe Calculos deve estar dentro de algum método.
Uma sugestão… você pode criar um Enum e colocar “Feminino e Masculino” assim comparar sempre usando o Enum
Eu naõ entendo por que ele não aceita o argumento
inclusive, pra pegar o sexo eu ja criei um objeto do tipo Calculadora, e coloquei dentro do primeiro if
conforme
[code]Calculadora calculadora = new Calculadora();
if(calculadora.jrFeminino.isSelected()){
}[/code]
mas continuo tendo o mesmo problema 

Você não pode fazer comparações/ações fora de método… no máxim atribuições de variáveis da classe (Sendo que o correto é fazer dentro de um construtor).
Cria um método e coloca esse código dentro dele.
[quote=alexfmjr]Você não pode fazer comparações/ações fora de método… no máxim atribuições de variáveis da classe (Sendo que o correto é fazer dentro de um construtor).
Cria um método e coloca esse código dentro dele.[/quote]
Noooooooooooooooffa
alguem tem uma arma ai? ‘-’
puts, e olha que ja aconteceu algo parecido uma vez, e meu professor me recomendou isso
kkk
I’m Sorry pessoal. :oops: .
e vlw Alex
Como disse o alex. Você precisa criar um método e colocar o código da classe cálculos dentro.
por exemplo: public Calculos(){ “código que vc escreveu” }
até porque o que você está fazendo não tem sentido. Está comparando os atributos da classe Dados() e os mesmo estão todos nulos.