Будет ли работать следующий код, чтобы проверить, совпадает ли содержимое массива объектов друг с другом? - PullRequest
0 голосов
/ 13 марта 2020

У меня есть этот класс колледжа, в котором я хочу видеть, равны ли преподаватели и студенты

public class college
{
    public boolean equals()        
    {        
        boolean isEqual = true;        
        int i = 0;                          
        while(students[i] != null || teacher[i] != null)        
        {        
            if(!students[i].equals(teacher[i]))        
            {        
                 isEqual = false;        
            }        
           i++;        
        }        
        return isEqual;                                         
    }
}

Ответы [ 2 ]

1 голос
/ 13 марта 2020

Вы должны проверить, одинаковы ли длины массивов, а затем создать простой для l oop и проверить, идентичны ли значения с тем же индексом. Если одна из комбинаций не идентична, вы ломаете l oop и возвращаете false

boolean isEqual = true;                          
    if(subamrine.length == fighterJet.length){
        for(int i=0 ; i < subamrine.length ; i++){
            if(subamrine[i] != fighterJet[i]){
                isEqual = false;
                break;
            }
        }
    }else{
        isEqual = false;
    }
    return isEqual;    
1 голос
/ 13 марта 2020

Я предлагаю добавить 1 проверку длины + изменить код, чтобы использовать для l oop.

1)

isEqual = (submarine.length == fighterJet.length);

Так что, если длина отличается, вы не go в l oop.


2)

 for(int i = 0; isEqual && i < submarine.length; i++)

Этот l oop выйдет из l oop при неравном значении.


Новый код -

public boolean equals()        
{        
    boolean isEqual = (submarine.length == fighterJet.length);       
    for(int i = 0 ; isEqual && i < submarine.length ; i ++){
        if(!submarine[i].equals(fighterJet[i]))        
        {        
             isEqual = false;        
        }           
    }        
    return isEqual;                                         
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...