2016-04-12 14 views
0

ile ifade edilen bir sorunla ilgili sorunlar yaşıyorum Temelde bir hastanedeki bazı hastaların kimlik numarasını alan ve kullanıcının o hastanın kimliğini yazarak görmek istediği belirli bir hastanın kaydını gösteren bir program yapmaya çalışıyorum sayı .. Farklı hastaların ve eşyaların bilgilerini depolayabiliyorum ancak bir hastayı kaydetmek için if deyimini kullanmam gerektiğinde, işe yaramıyor!arraylist

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()); 
      } 
     } 
    } 

} 

ve evet burada patientss

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

Gördüğünüz hata nedir? –

+2

Yığın Taşması'na Hoş Geldiniz. Yazarken: "ve if deyiminde bir hata alıyorum" - * her zaman * bir hata aldığınızı bildirirken hatanın ne olduğunu söyleyin. Derleme zamanı hatası mı? Uygulama zamanında bir istisna? Ayrıca, lütfen kodunuzu bir [mcve] ye düşürün. Sunduğunuz kodun çoğunun size yardımcı olması için gerekli olmadığından şüpheleniyorum. –

cevap

1
it=sc.nextInt(); 
patientss tt= new patientss(); 
... 
if(it==tt) 

o ve tt farklı türleri vardır, int için sınıftır: - ve ben eğer ekstresinde bir hata alıyorum:/burada programdır ve hastalar sırasıyla. Kodunuz (muhtemelen) olmalıdır:

if(it==tt.getID()) 

Ayrıca, adlandırma kuralı garip, sen sınıfların adı ve dont't kullanımı $ ve onlara diğer sembollerin ilk harfini büyük olmalıdır.