尝试从扫描仪获取数据并将其传递给一个函数,该函数将该数据与数组进行比较,但当我发送扫描仪接收到的数据时,它不会进行比较。
扫描类
Key.use(scan.nextLine().toString(), retrievedkey);
在数组中迭代以将第一个参数与数组列表进行比较的键函数
public static void use(String door, String[][] key){
var arraylength = key[1].length;
for (int i = 0; i<=arraylength;){
i++;
if (door == key[1][i]) {
canOpen = true;
System.out.println(canOpen);
}
else {
canOpen = false;
System.out.println(canOpen + " " + door + " " + Arrays.toString(key[1]));
}
return;
}
}
}
当与扫描功能分开发送数据时,按键功能起作用。例如:
Key.use("Front door", retrievedkey)
但是扫描仪将输入打印为"0";门";但未被函数读取。有什么帮助吗?谢谢
if (door == key[1][i]) {
canOpen = true;
System.out.println(canOpen);
}
你应该使用
if (door.equals(key[i][1]))
而不是
if (door == key[1][i])
并且在中不需要使用toString((方法
Key.use(scan.nextLine().toString(), retrievedkey);
因为nextLine((读取字符串作为输入。