因此,基本上,我正在开发一个程序,该程序采用医院中某些患者的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;
}
}
最佳答案
it=sc.nextInt();
patientss tt= new patientss();
...
if(it==tt)
它和tt是不同的类型,分别是int和患者。您的代码应该(可能)是:
if(it==tt.getID())
另外,您的命名约定很奇怪,您应该将类名称的首字母大写,并且不要在其中使用$和其他符号。
关于java - 在array的if语句中遇到问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36580683/