学习Java,For循环无法呈现。

我创造了这个 PassworField 如果用户输入了正确的密码,就会跳出这个循环。hello. 它应该循环5次才会阻止用户。如果用户第一次输入正确的密码,它确实会中断,但当用户第一次输入错误的密码,然后在第二次尝试正确时,它不会中断。即使我输入了正确的密码,它也只是循环5次,然后就会被阻止。如果你能帮助我,我将感激不尽……把我逼疯了……我创建了这个PassworField方法。

public class LoginPage {


         static String password = "hello";
         static Scanner scn = new Scanner(System.in);
         static String input = scn.nextLine();


        public static void PasswordField() {
            System.out.println("Enter the password");
            for (int i = 0; i <5; i++) {
                if (password.equals(input)) {
                        System.out.println("You are In");
                             break;
                }
                   else if(!input.equals(password)) {
                            System.out.println("Wrong, Please Enter the Password again:");
                            scn.nextLine();
                    }
                else {
                       System.out.println("You are Blocked sucker. call helpdesk");
                }


            }
                            scn.close();
         }

解决方案:

你缺少的是更新 input 的新值。此外,被屏蔽的逻辑应该是 之后 for循环结束。

 public static void PasswordField() {
        System.out.println("Enter the password");
        for (int i = 0; i < 5; i++) {
            if (password.equals(input)) {
                System.out.println("You are In");
                scn.close();
                return;
            } else {
                System.out.println("Wrong, Please Enter the Password again:");
                input = scn.nextLine();
            }
        }
        System.out.println("You are Blocked sucker. call helpdesk");
        scn.close();
}

本文来自投稿,不代表运维实战侠立场,如若转载,请注明出处:https://www.shizhanxia.com/268.html

(0)
上一篇 2022年6月29日 下午3:54
下一篇 2022年6月29日 下午3:54

相关推荐

发表评论

登录后才能评论