Como fazer esse código funcionar?

Fala pessoal, tudo jóia
estou com uma dúvida quanto ao uso de objetos e classes, estou criando um pequeno programa para calculo IMC com o seguinte código (somente com saidas de dados para teste mesmo):
public class Calculoimc {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    /*criando 3 instancias da classe paciente (fulano, beltrano e ciclano respectivamente)*/
	
	paciente fulano = new paciente();
	fulano.peso= 58;
	fulano.altura= 1.85;


	paciente beltrano = new paciente();
	beltrano.peso = 70;
	beltrano.altura = 1.78;

	
	paciente ciclano = new paciente();
	ciclano.peso = 115;
	ciclano.altura= 1.80;



	/*imprimindo o resultado das 3 instancias da classe paciente*/

	fulano.imprimir();
	beltrano.imprimir();
	ciclano.imprimir();
}

}

/* daqui para baixo fazemos os calculos */

public class paciente {

/Criando classe paciente/

double peso;
double altura;
    String situacao;

/* Primeiro metodo ( o metodo calcularIMC() e responsavel por calcular o indice de massa corporea) */

float calcularIMC(float peso, float altura ){  
            float imc;
	imc = peso/(altura*=altura);
            return imc;
}
    

/*Segundo metodo ( o metodo diagnóstico() e responsavel por identificar a faixa de peso )*/

String diagnostico(){
	if (imc.calcularIMC() < 16){
		situacao = ("Baixo peso muito grave");
	}
	if ((imc.calcularIMC() >= 16) & (imc.calcularIMC() <= 16.99)){
		situacao = ("Baixo peso grave");
	}
	if ((imc.calcularIMC() >= 17) & (imc.calcularIMC() <= 18.49)){
		situacao = ("Baixo peso");
	}
	if ((imc.calcularIMC() >= 18.50) & (imc.calcularIMC() <= 24.99)){
		situacao = ("Peso normal");
	}
	if ((imc.calcularIMC() >= 25) & (imc.calcularIMC() <= 29.99)){
		situacao = ("Sobrepeso");
	}
	if ((imc.calcularIMC() >= 30) & (imc.calcularIMC() <= 34.99)){
		situacao = ("Obesidade grau I");
	}
	if ((imc.calcularIMC() >= 35) & (imc.calcularIMC() <= 39.99)){
		situacao = ("Obesidade grau II");
	}
	if (imc.calcularIMC() >= 40){
		situacao = ("Obesidade grau III (obesidade morbida)");
	}
            
            return situacao;
}


/*imprimir o resultado dos metodos*/

void imprimir(){
	System.out.println("O IMC corresponde a: "+imc.calcularIMC()+"\n"+situacao.diagnostico()+"\n \n");
}

}

qual a duvida?

Você importou a classe Paciente, ha mais uma questão sempre escreva classe com a primeira letra em MAIÚSCULO. outra questão se você utilizar a primitiva float deve usar o f ao final do número inserido. outro seu código tem alguns erros como o escopo da variável imc que está dentro um método e você tenta acessar em outro, faça tudo de novo.

1 curtida

Ah, entendi.É que estou começando a estudar programação e java. Muito obrigado pela ajuda.

não desista vale a pena :slight_smile:

Pode deixar :+1:

Lembrando que & tem comportamento diferente de &&.