N entendi um exercicios se alguem puder me ajudar a resolver, nao estou pegando muito bem poo e esse exercicio foi a gota d’agua
Descrição:
Você esta programando um sistema sobre pacientes em uma clinica de nutrição. Entre outras
partes do software, deve ser programado a Classe Paciente. Seguem os requisitos da classe:
atributos encapsulados: nome (string), peso e altura (double)
construtor: um construtor que receba os três parâmetros (nome, altura e peso)
métodos:
• getters e setters para os 3 atributos. Para os dois atributos numéricos, não se deve
alterar os valores quando os valores passados por parâmetro não forem positivos
(mesmo deve ser validado no construtor).
• getImc –> retorna o valor do IMC do paciente, considerando a fórmula:
IMC = Peso/ Altura²
• getImcStatus –> retorna uma string com o status do paciente baseado no seu IMC,
conforme a tabela abaixo:
Valor IMC Status IMC
IMC < 18,5 kg/m² “Magreza”
18,5 kg/m² <= IMC < 24,9 kg/m² “Normal”
24,9 kg/m² <= IMC < 30 kg/m² “Sobrepeso”
IMC >= 30 kg/m² “Obesidade”
n faço ideia nem de como começar
Você pode criar na “Main” a regra para não aceitar valores negativos.
Criar variáveis e depois vai aplicando e se aceitar coloca no Construtor e dele você pode ter métodos que retornam o Imc e informar qual tipo e por aí vai.
Segue o código, ver se te auxilia, fiz também com Construtor:
//Paciente.java
package entities;
public class Paciente {
//Atributos
private String nome;
private float altura;
private float peso;
private float imc;
private String imcStatus;
//
public Paciente(String nome, float altura, float peso) {
this.nome = nome;
if (altura < 0.0f) {
this.altura = altura * (- 1);
} else {
this.altura = altura;
}
if (peso < 0.0f) {
this.peso = peso * (- 1);
} else {
this.peso = peso;
}
setImc(peso, altura);
imc = (float) (peso / Math.pow(altura, 2));
setImcStatus(imc);
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
private float getAltura() {
return altura;
}
private void setAltura(float altura) {
this.altura = altura;
}
private float getPeso() {
return peso;
}
private void setPeso(float peso) {
this.peso = peso;
}
public float getImc() {
return imc;
}
public void setImc(float peso, float altura) {
this.imc = imc;
}
public String getImcStatus() {
return imcStatus;
}
public void setImcStatus(float res) {
if (res <= 18.5f) {
this.imcStatus = " kg/m² Magreza";
} else if (res < 24.9f) {
this.imcStatus = "kg/m² Normal";
} else if (res < 30.0f) {
this.imcStatus = "kg/m² Sobrepeso";
} else {
this.imcStatus = "kg/m² Obesidade";
}
}
@Override
public String toString() {
return "Paciente{" + "Nome=" + nome
+ "\nAltura=" + String.format("%.1f", altura) + "m"
+ "\nPeso=" + String.format("%.1f", peso) + "kg"
+ "\nimc=" + String.format("%.1f", imc)
+ "" + imcStatus + '}';
}
}
//Depois é só instanciar na Main como
//public class Main {
public static void main(String[] args) {
Paciente p = new Paciente("Paulo", 1.75f,70);
System.out.println(p);
}
}//
Tem uma regra com relação a converter de negativos em positivos no próprio construtor. vlw!!!
1 curtida