扫描仪,输入用户名和密码3次尝试

时间:2011-09-01 11:18:37

标签: loops

如何使用以下规范创建程序..

使用Scanner,要求用户使用循环输入最多3次尝试的用户名和密码。如果用户名和密码都正确,程序将提出一个秘密问题;如果问题的答案是正确的,那么它将显示“欢迎”,如果答案是错误的,它将显示“程序终止”。

如果用户名和密码都错误,它会给用户3次尝试,如果所有尝试都出错,它也会显示“程序终止”。

谢谢...

即时通讯使用netbeans ide ..

到目前为止我的问题是...... 当所有尝试都出错时,它不会显示终止。 在第一次尝试中,如果用户名和密码都正确但秘密答案错误则不会给第二次尝试..

  `Scanner scan = new Scanner (System.in);

    for (int x=0;x<3;x++){
        System.out.print("username: ");
        String username = scan.nextLine();
        System.out.print("password: ");
        String password = scan.nextLine();

        if (username.equals("admin")&&password.equals("secret")){
            System.out.print("sport? ");
            String sport = scan.nextLine();
            if (sport.equals("sepak")){
                System.out.println("welcome");
            }
            else 
                System.out.println("terminated");
            break;
            } 
        }
    }
}

`

2 个答案:

答案 0 :(得分:3)

这听起来像是家庭作业,因为你没有提供任何代码,我会假设你需要一些指导才能开始。

这里有一些伪代码

  1. attempts初始化为0
  2. 虽然attempts&lt; 3
    1. username =从扫描仪读取
    2. password =从扫描仪读取
    3. 如果username等于"correct username"password等于"correct password"
      1. 打印“welcome”
      2. 从功能返回
    4. 增量attempts
  3. 打印“程序终止”
  4. 退出程序

答案 1 :(得分:1)

您可以先详细说明这些步骤。这是不言而喻的,所以我没有给出答案。

  1. 第一次询问用户名和密码。
  2. 如果两者都正确,请转到7.如果不正确,请转到3.
  3. 第二次询问用户名和密码。
  4. 如果两者都正确,请转到7.如果不正确,请转到5.
  5. 第三次询问用户名和密码。
  6. 如果两者都正确,请转到7.如果不正确,终止
  7. 问秘密问题。
  8. 如果答案是正确的,欢迎。如果没有,终止
  9. 然后,您可以考虑如何使用循环和一些簿记来表达相同的步骤序列。

    对于扫描仪,具体位于here。这是一个非常沉重的阅读,所以我会给你一个简单的例子:

    // Make a Scanner to read from the console
    Scanner scan = new Scanner(System.in);
    
    // Read a line
    String s = scan.nextLine();
    
    // Print it
    System.out.println(s);