1. 程式人生 > 其它 >for迴圈例子2

for迴圈例子2

/** * for迴圈例子2 * @date: 2022.2.24 * 使用者登入驗證,上限3次。 * */

程式碼

點選檢視【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)){
//                使用者名稱對了,才有許可權驗證密碼
                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
您無權訪問,請稍後再試!