【问题标题】:compare two IntList / processing比较两个 IntList / 处理
【发布时间】:2019-05-10 01:11:26
【问题描述】:

我想用安全密码制作一个锁屏。 我将密码存储在 IntList password 中,当用户单击按钮时,尝试将附加到 IntList attempt,按钮 ID (这部分工作正常) :

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

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

现在的问题是如何比较两个 IntArray 并在它们相同时执行一些操作(切换到 isLoggedIn 条件)?我正在尝试,但它不起作用:

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

提前谢谢你。

【问题讨论】:

  • 什么是 IntList?如果这是您自己的类,您可以在其中实现自己的相等逻辑。这是什么编程语言?您将其标记为 java,但对于 java 代码来说它看起来很奇怪。
  • processing.org/reference/IntList.html我是在Processing中做的,但是这个类是取自Java

标签: java arrays arraylist passwords processing


【解决方案1】:

要比较列表,您必须遍历它们并比较各个条目。下面的代码显示了它是如何工作的,尽管我建议以不同于下面使用的方式实现“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");
}

【讨论】:

    【解决方案2】:

    我实际上只是对它进行了排序。这有效:

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

    【讨论】:

      猜你喜欢
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 2020-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-23
      相关资源
      最近更新 更多