2010-02-04 11 views
0

J'ai le code suivant: Essentiellement, le nombre de méthodes devrait rester le même que dans le code et j'ai besoin d'extraire une chaîne d'un élément de la liste liée des objets de type emp_struct .. Comment fait-on ça?Java Objets de la liste chaînée de questions

import java.util.*; 
import java.io.*; 

class a1 { 

    static LinkedList l1; 
    private emp_struct input() throws IOException 
    { 
     BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
     emp_struct obj = new emp_struct(); 
     obj.emp_id = br.readLine(); 
     obj.name = br.readLine(); 
     obj.salary = Double.parseDouble(br.readLine()); 
     obj.dept = br.readLine(); 
     try{ 
      search(obj); 
     }catch(Exception e){ 
      System.out.println(e); 
      obj = input(); 
     } 
     return obj; 

    } 

    boolean search(emp_struct obj) 
    { 
     int lastIndex = l1.lastIndexOf(l1); 
     int begIndex = 0; 
     for(begIndex =0;begIndex<lastIndex;begIndex++) 
     { 
      Object chkCase = l1.get(begIndex); 
      String chk = chkCase.getEmpID(); 
      if(chk.equals(obj.emp_id)); 
       throw new DuplicateEntryException("Duplicate entry found"); 

     }   
     return true; 
    } 
    public static void main(String args[]) throws IOException 
    { 
     l1 = new LinkedList(); 
    } 
} 

class DuplicateEntryException extends Exception { 
    String detail; 
    DuplicateEntryException(String a) 
    { 
     detail = a; 
    } 

    public String toString() 
    { 
     return "User Defined Exception : "+detail; 
    } 
} 

class emp_struct { 
    public String emp_id; 
    public String name; 
    public double salary; 
    public String dept; 

    public String getEmpID() 
    { 
     return emp_id; 
    } 

    public String toString() 
    { 
     return emp_id+"\t"+name+"\t"+salary+"\t"+dept; 
    } 
} 
+0

Est-ce un devoir ou un code dans le monde réel? – Jon

+0

Espérons que c'est un devoir .. a l'air un peu brouillon – Juri

+4

classe emp_struct, sérieux? – GreenieMeanie

Répondre

0

Dans votre recherche, si vous trouvez la valeur, vous lève une exception. Si vous ne trouvez pas la valeur, vous renvoyez true. Cela ne semble pas être la meilleure approche.

Si vous trouvez la valeur, ne devriez-vous pas retourner true, alors si elle le fait à travers le tableau sans le trouver, ne devriez-vous pas retourner false?

+0

convenu mais le devoir dit que vous devez utiliser une exception de défind utilisateur donc j'ai été forcé de le faire de cette façon mais j'ai encore besoin d'extraire la chaîne de l'objet à l'index spécifié de la liste chaînée qui n'est pas une partie de mes devoirs – manugupt1

+0

On dirait que vous voulez changer la valeur de retour de votre méthode pour retourner une chaîne – bkritzer

0

Cette ligne

Object chkCase = l1.get(begIndex); 

devrait être

emp_struct chkCase = (emp_struct)l1.get(begIndex); 

entre autres ...