JAVA尝试调整用户解锁程序锁和完成程序的尝试
到目前为止,我的程序只给我两次尝试,然后当我想让它说报警时,它给我一个假输出。编辑代码,如果你喜欢和评论我应该做什么。我还有一些调试,如果我能得到一些帮助的话,那将是非常好的,这样我就可以有一个功能齐全的程序您现在不会有两次尝试。您当前看到的是这组代码的输出:JAVA尝试调整用户解锁程序锁和完成程序的尝试,java,Java,到目前为止,我的程序只给我两次尝试,然后当我想让它说报警时,它给我一个假输出。编辑代码,如果你喜欢和评论我应该做什么。我还有一些调试,如果我能得到一些帮助的话,那将是非常好的,这样我就可以有一个功能齐全的程序您现在不会有两次尝试。您当前看到的是这组代码的输出: import java.io.*; public class GentCPT3 { public static void main (String[] args) throws IOException { Buffered
import java.io.*;
public class GentCPT3
{
public static void main (String[] args) throws IOException
{
BufferedReader objReader = new BufferedReader(new InputStreamReader (System.in));
System.out.println("Enter key");
int key1 = Integer.parseInt(objReader.readLine()); // set to 111
System.out.println("Enter key2");
int key2 = Integer.parseInt(objReader.readLine()); // set to 222
Lock lock1 = new Lock (key1);
Lock lock2 = new Lock (key2);
System.out.println(lock1.isOpen); // prints false
lock1.close();
lock2.close();
lock1.open(111); // opens lock1
lock2.open(222); // opens lock2111
lock1.close();
lock1.close();
}
}
class Lock //Initializing class
{
//Initializing variables
boolean isOpen;
int key;
int numAttempts = 0;
Lock(int key)
{
isOpen = false;
this.key = key;
}
public void close()//for incorrect combo
{
isOpen = false;
}
public void open(int key)//for correct combo
{
if(this.key == key)
{
System.out.println("Opened");
isOpen = true;
}
else if(!isOpen)
{
numAttempts++;
}
if(numAttempts == 3)
{
System.out.println("ALARM");//prints alarm when the combo is incorrect 3 times
}
}
}
每个锁当前只有一次打开尝试。如果添加更多打开的尝试,如:
System.out.println("Enter key");
int key1 = Integer.parseInt(objReader.readLine()); // set to 111
System.out.println("Enter key2");
int key2 = Integer.parseInt(objReader.readLine()); // set to 222
Lock lock1 = new Lock (key1);
Lock lock2 = new Lock (key2);
System.out.println(lock1.isOpen); // prints false
它会打印出你的预期行为如果我理解正确,你想默认打开锁吗?如果是,只需更改为:
lock1.open(111); // opens lock1
lock2.open(222); // opens lock2
lock1.open(111); // opens lock1
lock2.open(222); // opens lock2
lock1.open(111); // opens lock1
lock2.open(222); // opens lock2
锁(int键)
{
isOpen=true;//
这将导致以下输出:
- 真的
- 打开
- 打开
Lock(int key)
{
isOpen = true; // < true as default (instead of false)
this.key = key;
}