сравнить два IntList / обработка - PullRequest
0 голосов
/ 08 декабря 2018

Я хочу сделать экран блокировки с паролем безопасности.Я сохраняю пароль в IntList password , и попытки добавления в IntList попытки добавляются, когда пользователь нажимает кнопку, с идентификатором кнопки (эта часть работает нормально):

IntList password = new IntList(14, 2, 12);
IntList attempt = new IntList();

draw() {
    if (bClick==true) {
      attempt.append(pressed_btn);         
    }
}

Теперь вопрос в том, как сравнить два IntArrays и выполнить какое-либо действие (переключиться в состояние isLoggedIn), если они совпадают?Я пытаюсь, но это не работает:

if (attempt.equals(password)) {
  println("attempt equals password");
  isLoggedIn=true;
}

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 08 декабря 2018

Я на самом деле только что отсортировал.Это сработало:

if  (password.toString().equals(attempt.toString())) { 
  isLoggedIn=true;
}
0 голосов
/ 08 декабря 2018

Чтобы сравнить списки, вы должны их перебрать и сравнить отдельные записи.Приведенный ниже код показывает, как это работает, хотя я предлагаю реализовать isLoggedIn другим способом, чем я использовал ниже.

IntList password = new IntList(14, 2, 12);
IntList attempt = new IntList();
boolean isLoggedIn = true;

attempt.append(14);    
attempt.append(2);    
attempt.append(12);    

for (int i = 0; i < attempt.size(); i++)
{
  if (password.get(i) != attempt.get(i))
  {
    isLoggedIn=false;
  }
}

if (isLoggedIn)
{
  println("You are logged in");
} else
{
  println("Password incorrect");
}
...