Tamam ben bir dizide hasta bilgisini depolar ve daha sonra, bir hastanın kimliğini girmek için kullanıcıya sorar bir program yaptım, o belirli hastanın kayıt olacak ekranda görüntülenir. Şimdi, kullanıcının kimliğini girdiği, ancak hangi ifadeyi kullanacağımı ve nasıl kullanacağımı bilmediğim hastanın kaydını güncellemeliyim. Ekle ve kaldırabileceğime inanıyorum ama emin değilim .. İşte Programım: - hemen sonra (yukarı == 1) nerede yapılacağını düşünürken sorun yaşıyorum.java arraylist belirli bir kayıt güncelleme sorunları olan
package samplee.java;
import java.util.*;
public class patient$ {
public static void main(String[] args) {
ArrayList<patientss> patient1 = new ArrayList<patientss>();
Scanner src = new Scanner(System.in);
Scanner sc = new Scanner(System.in);
Scanner stc = new Scanner(System.in);
Scanner sdc = new Scanner(System.in);
Scanner update = new Scanner(System.in);
int id, it, num, i;
String name;
int ages;
int id1;
Boolean leave = false;
while (!leave) {
patientss xx = new patientss();
System.out.println("Enter the patient's ID ");
System.out.println("-1 to finish entering");
id = src.nextInt();
if (id != -1) {
xx.setId(id);
}
System.out.println("Enter the patient's name ");
System.out.println("-1 to finish entering");
name = stc.next();
if (id != -1) {
xx.setName(name);
patient1.add(xx);
}
System.out.println("Enter the patient's phone number");
System.out.println("-1 to finish entering");
num = sdc.nextInt();
if (id != -1) {
xx.setNum(num);
patient1.add(xx);
} else {
leave = true;
}//Escape the while loop.
}
System.out.println("Enter the id of a student");
it = sc.nextInt();
patientss tt = new patientss();
for (i = 0; i < patient1.size(); i++) {
tt = patient1.get(i);
if (it == tt.getId())
System.out.println(tt.toString());
break;
}
System.out.println("Enter the id of the student you want to update");
Scanner id11 = new Scanner(System.in);
id1 = id11.nextInt();
int up, id2;
patientss dd = new patientss();
for (i = 0; i < patient1.size(); i++) {
dd = patient1.get(i);
if (id1 == dd.getId()) {
System.out.println("If you want to change the name, type 1");
System.out.println("If you want to change the number, type 2");
System.out.println("If you want to change the id, type 3");
up = update.nextInt();
if (up == 1) {
}
}
}
}
}
Ve evet bu benim patientss sınıftır: -
package samplee.java;
public class patientss {
int id;
String name;
int num;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String toString() {
return name + " " + id + " " + num;
}
}
Sistem.in için beş 'Tarayıcı 'örneğine ihtiyacınız yok. Sadece birini kullan. – Tom
Girintiniz ciddi şekilde berbat. Lütfen bunu düzeltin, kodunuz okunamaz (örneğin ilk '' if''ye bir bakın). Ayrıca: Neden aynı giriş akışında 5 tarayıcınız var? – f1sh
Hastayı zaten 'dd' değişkenine ayıklamışsınız. Bu yüzden değerlerini değiştirmek için ayarlayıcı yöntemlerini çağırmak için kullanın. – Tom