所以基本上我正在制作一个程序,该程序获取医院中某些患者的ID号,并通过键入该患者的ID号显示用户想要看到的一个特定患者的记录。我可以存储不同患者和病人的信息,但是当我必须使用if语句打印某个患者的记录时,它不起作用!我在if语句中得到一个错误:/这是程序: -
package samplee.java;
import java.util.*;
import java.util.ArrayList;
import java.util.Scanner;
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);
int id,it,num,i;
String name;
int ages;
System.out.println(" j");
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);
}
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) // this is the statement that isn't working and is showing error.
System.out.println(tt.toString());
}
}
}
}
并且这里是耐心的课程
package samplee.java;
public class patientss {
int id;
String name;
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;
}
}
答案 0 :(得分:1)
it=sc.nextInt();
patientss tt= new patientss();
...
if(it==tt)
它和tt分别是不同的类型,int和patientss。你的代码应该(可能)是:
if(it==tt.getID())
另外,你的命名惯例很奇怪,你应该把你的第一个字母大写&#39;名称并且不要在其中使用$和其他符号。