java - 当我尝试添加一个 ID 时,我所有的 ID 都会增加

标签 java arraylist jlist

我正在尝试在创建患者时添加患者 ID,该 ID 每次都会递增 1。但是当运行我的代码时,它也会增加所有其他 ID 的 ID。

    JButton btnCp = new JButton("Create Patient");
    btnCp.addActionListener(new ActionListener() {//add action listener to btnCp (Create Patient Button)
        public void actionPerformed(ActionEvent arg0) {

            name = pateintNameTextField.getText();//reads entered text
            address = patientAddressTextField.getText();
            phone = patientPhoneTextField.getText();

            pateintNameTextField.setText("");//sets fields back to empty ("")
            patientAddressTextField.setText("");
            patientPhoneTextField.setText("");




                Patient.setID(Patient.patientNum +1);


            Patient patient = new Patient(name,address,phone);//adds the Patient to the patient class
            patientListModel.addElement(patient);//adds patient to patientLst
            Patient.aPatientList.add(patient);

我的 Patient 类如下:

public class Patient implements Serializable{

public static int patientNum;
public String patientName;
public String patientAddress;
public String patientPhone;


public static ArrayList<Patient> aPatientList = new ArrayList<Patient>();



public Patient(String n, String a, String p){


    patientName = n;
    patientAddress = a;
    patientPhone = p;


}

public static void setID(int id){

    patientNum = id;



}

public static int getID(){

    return patientNum;

}


public void setName(String n){

    patientName = n;



}

public String getName(){

    return patientName;

}

public void setAddress(String a){

    patientAddress = a;


}

public String getAddress(){

    return patientAddress;
}



public void SetPhoneNum(String p){
    patientPhone = p;

}

public String getPhoneNum(){

    return patientPhone;
}

public String toString() {
    return "ID: " +getID() + " Name: "+ getName() +" Address: "+getAddress() +" Phone Number: "+getPhoneNum();
  }




}

然后我还将患者写入 jList。提前致谢

最佳答案

由于您已将 patientNum 声明为 static,因此即使您增加其中一个,所有 patientNum 都会增加,因为它由对象。

关于java - 当我尝试添加一个 ID 时,我所有的 ID 都会增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16253383/

相关文章:

java - 如何获得封闭类?

java - ArrayList:大小如何增加?

java - 在 Java 中,如何根据另一个列表对一个列表进行排序?

java - 监听 JList setSelectedIndex

java - 有没有办法用 JList 获取垂直索引?

java - 如何将缩进驱动的代码解析为 AST

java - 验证准备好的语句中的空字段

java - 从文件 [java] 中读取不同的变量并将它们放入 JList 中

java - Java中float "1"和float "1f"有什么区别?

java - 如何在 java 中创建 ArrayList <Shape> 的对象