for循环例子2

代码

点击查看【ForTest2.java】代码
//package com.d;

import java.util.Scanner;

/**
 * for循环例子2
 * @date: 2022.2.24
 * 用户登录验证,上限3次。
 * */

public class ForTest2 {
    public static void main(String[] args) {
//        举例用户信息
        String username = "admin";//用户名
        String pad = "123";//密码
        int sum = 3; //限定3次账户密码试错的机会,sum--; sum < 1; break;

//        模拟用户登录
        Scanner input = new Scanner(System.in);
//        验证用户名
        System.out.print("欢迎使用Windows系统,请输入用户名:");
        for (;;){ //死循环的另一种写法
            if (sum < 1) break;// 及时检查试错次数,并终止循环

            String putuser = input.next();
            if (username.equals(putuser)){ //用 String.equals(); 比较两个字符串是否相同。
//                用户名对了,才有权限验证密码
                System.out.print("请输入密码:");
                for (;;){
                    if (sum < 1) break;// 及时检查试错次数,并终止循环

                    String putpad = input.next();
                    if (pad.equals(putpad)){
                        System.out.println("用户:【"+ putuser +"】登录成功!");
                        break;//登录成功!跳出死循环
                    }else {
                        sum--;//试错计数
                        if (sum!=0) System.out.print("密码不对!只剩【"+ sum +"】次机会了,请重新输入:");
                        if (sum == 0) System.out.println("您无权访问,请稍后再试!");
                        continue;//密码不对,进入下一循环
                    }
                }
            }else {
                sum--;//试错计数
                if (sum!=0) System.out.print("没有该用户,只剩【"+ sum +"】次机会了,请重新输入:");
                if (sum == 0) System.out.println("您无权访问,请稍后再试!");
                continue;//用户名不对,进入下一循环
            }
//            如果一切顺利,输入用户名密码后程序会执行到这里,还得手动跳出死循环
            break;
        }


    }
}


运行
String username = "admin";//用户名
String pad = "123";//密码


欢迎使用Windows系统,请输入用户名:zhangsan
没有该用户,只剩【2】次机会了,请重新输入:admin
请输入密码:666
密码不对!只剩【1】次机会了,请重新输入:123
用户:【admin】登录成功!


欢迎使用Windows系统,请输入用户名:lisi
没有该用户,只剩【2】次机会了,请重新输入:admin
请输入密码:888
密码不对!只剩【1】次机会了,请重新输入:999
您无权访问,请稍后再试!

posted @ 2022-02-24 16:23  TabKey9  阅读(25)  评论(0编辑  收藏  举报