public class Student { //student object class containing name and id
    String name;
    int ID;

    public Student(String name, int ID) {
        this.name = name;
        this.ID = ID;
    }
    @Override
    public String toString() {
        return name +" "+ ID;
    }
}
//another class with two array lists, an array of students in a class and an array of students waiting for help
ArrayList<Student> inClass = new ArrayList<Student>();
ArrayList<Integer> inLine = new ArrayList<Integer>(); //IDs of students who are waiting for help

public boolean addStudentInLine(Integer id) { 
   for(int i = 0; i<inClass.size(); i++) {
      if (inClass.get(i).ID != id) {
          return false;
      }
      if (inClass.get(i).ID == id) {
          inClass.add(id);
      }
  }  
}

Pour la méthode addStudentInLine, je dois ajouter l'ID à l'entier Arraylist inLine si l'ID existe dans inClass arraylist. (Seuls les élèves d'une classe peuvent recevoir de l'aide) Si l'ID n'existe pas dans inClass arrayList, retourne false. Je ne sais pas comment parcourir la liste de tableaux inClass pour voir si l'ID existe déjà car la liste de tableaux inClass est constituée d'objets étudiants. J'ai essayé la méthode .contain () mais elle semble également ne pas fonctionner. Puis-je avoir une aide s'il vous plait?

1
user12869445 11 févr. 2020 à 03:38

1 réponse

Meilleure réponse

Vous devez inverser la condition dans la méthode addStudentInLine. Si un Student identifiant correspondant à ID ajoutez cette ID à la liste inLine et renvoyez true ou sinon juste retourner `false

public boolean addStudentInLine(Integer id) { 

   for(int i = 0; i<inClass.size(); i++) {

       if (inClass.get(i).ID.equals(id)) {
           inClass.add(id);
           return true;
        }

     }  
    return false;
 }  

Vous pouvez également utiliser le bloc for-each

 public boolean addStudentInLine(Integer id) { 

   for(Student stu : inClass) {

       if (stu.ID.equals(id)) {
           inClass.add(id);
           return true;
        }

     }  
    return false;
 }  
0
Deadpool 11 févr. 2020 à 00:42