Problema com retorno String

[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

qual é a msg de erro?

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 :cry:

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.