我从 Java 编程开始,在练习的一部分中我遇到了困难,我有一个 Patient 类和两种方法,一种方法会要求我提供所有患者的数据,并且它必须将它们存储在一个数组中,以便另一种方法显示它,我该怎么做?是否有必要使用 Getter 和 Setter 来存储它们,还是有其他方法?编辑:我只是将所有内容都设为私有,也许这样更容易,我仍然不知道如何在 ShowData() 方法中显示数据;我不知道我所做的是否正确
import java.util.Scanner;
public class Paciente {
private float alturaCuadrado;
private int x = 0;
private int contador = 0;
private String nombre = null;
private int n_pacientes = 0;
private int edad = 0;
private double peso;
private float altura;
private double imc;
public float getAlturaCuadrado() {return alturaCuadrado;}
public int getX() { return x; }
public int getContador() {return contador;}
public String getNombre() {return nombre;}
public int getN_pacientes() {return n_pacientes;}
public int getEdad () {return edad;}
public double getPeso () {return peso;}
public float getAltura () {return altura;}
public double getImc() { return imc;}
public void setAlturaCuadrado(float alturaCuadrado)
{this.alturaCuadrado = alturaCuadrado;}
public void setX (int x) { this.x = x; }
public void setContador(int contador) {this.contador =
contador;}
public void setNombre (String nombre) {this.nombre = nombre;}
public void setN_pacientes(int n_pacientes) {this.n_pacientes =
n_pacientes;}
public void setEdad(int edad) {this.edad = edad;}
public void setPeso(double peso) {this.peso = peso;}
public void setAltura(float altura) {this.altura = altura;}
public void setImc(double imc) {this.imc = imc;}
public void obtenerDatos() {
Scanner teclado = new Scanner (System.in);
System.out.println("¿Cuantos pacientes quieres
introducir?");
n_pacientes = teclado.nextInt();
Paciente pacientes [] = new Paciente [n_pacientes];
for (int i = 0; i < n_pacientes;i++ ) {
pacientes [i] = new Paciente();
System.out.println("¿Cual es tu nombre?");
nombre = teclado.next();
pacientes[i].setNombre(nombre);
System.out.println("¿Cuál es tu edad?");
edad = teclado.nextInt();
pacientes[i].setEdad(edad);
System.out.println("¿Cuál es tu peso?");
peso = teclado.nextDouble();
pacientes[i].setPeso(peso);
System.out.println("¿Cuál es tu altura? (En metros)");
altura = teclado.nextFloat();
pacientes[i].setAltura(altura);
}
}
public void mostrarDatos() {
for (int j = 0; j < n_pacientes; j++) {
System.out.println(pacientes[j].getPeso());
}
}
根据您对新数据的指示,我将告诉您如何做到这一点,显然这可能会因您在理论中所处的位置而异。因此,此答案将基于您在问题中显示的内容。
首先,我们将有这个类
Paciente
,我们将有以下数据。其他两种方法可以在同一个类中,在您的主类中或在您的服务类中(这就是为什么我问您要使用理论的哪一部分),但它可能是这样的。