2013-05-01 1 views
-3

Donc arrayLists est une première pour moi, et pour autant que je sache, j'ai tout fait correctement et en suivant les exemples fournis par mon cours en ligne. TOUTEFOIS, pour une raison ou pour une autre, j'ai une ligne rouge soulignée ... que j'aborderai dans un moment après une brève explication de ce programme.Comment réparer une arrayList?

Ce programme vous permet de saisir des informations sur un employé et après avoir appuyé sur le bouton 'list' (listButton), il en sort dans le champ employeeField etc. Cela résume essentiellement ce programme.

public class EmployeeView extends FrameView { 

    class Company { //this is the class to allow me to put 'company' in the arrayList... 
     String ID, firstName, lastName, annualSal, startDate, mileage; 

     Company (String _ID, String _firstName,String _lastName, String _annualSal, String _startDate) { 
      ID = _ID; 
      firstName = _firstName; 
      lastName = _lastName; 
      annualSal = _annualSal; 
      startDate = _startDate; 
     } 
    } 

    /** Define the ArrayList */ 
    ArrayList <Company> inventory = new ArrayList <Company>(); 


    private void AddActionPerformed(java.awt.event.ActionEvent evt) { 

     String c; 
     String ID, firstName, lastName, annualSal, startDate; 

     ID = IDField.getText(); //all this stuff grabs info from the Fields...which will then be stored in the array 
     firstName = firstNameField.getText(); 
     lastName = lastNameField.getText(); 
     annualSal = annualSalField.getText(); 
     startDate = startDateField.getText(); 

Les deux lignes ci-dessous sont les coupables. Je suppose que "nouveau" n'est pas nessisaire mais il était là dans l'exemple, c'est pourquoi je l'utilise ... mais quand je m'en débarrasse, seule la "société" est soulignée et le "c" dans la deuxième ligne est souligné au lieu de souligner toute la ligne. Quoi qu'il en soit, j'espère que cela a du sens ... puisque c'est (d'après ce que je sais de) mon seul problème.

 c = new Company(ID, firstName, lastName, annualSal, startDate); 
     inventory.add(c); 
    } 

    private void ListActionPerformed(java.awt.event.ActionEvent evt) { 

     String temp=""; 

     for (int x=0; x<=inventory.size()-1; x++) { 
      temp = temp + inventory.get(x).ID + " " 
        + inventory.get(x).firstName + " " 
        + inventory.get(x).lastName + " " 
        + inventory.get(x).annualSal + " " 
        + inventory.get(x).startDate + "\n"; 
     } 
     employeeTArea.setText(temp); 


} 
+0

Quelle erreur de compilation recevez-vous? – Makoto

+0

Avez-vous survolé le soulignement pour découvrir quelle est l'erreur? Avez-vous essayé de compiler votre programme? –

+0

Bonne réflexion là-bas ... Il a dit qu'il était déjà défini, alors j'ai juste supprimé la première déclaration et le bingo! Problème résolu. Je ne peux pas m'empêcher de me sentir un peu comme un idiot maintenant lol, tout va bien! – Que

Répondre

5

Vous avez déclaré c être un String; vous ne pouvez pas affecter un Company directement à un String.

Remplacez votre déclaration de c par Company.

0

c est déclaré comme String ci-dessus. Il devrait être de type Company à la place.

Questions connexes