首頁 > Java > java教程 > java如何判斷使用者名稱和密碼

java如何判斷使用者名稱和密碼

藏色散人
發布: 2020-02-11 11:15:24
原創
5472 人瀏覽過

java如何判斷使用者名稱和密碼

java如何判斷使用者名稱和密碼? Java驗證使用者名稱與密碼

假設在某倉庫管理系統的登入介面中需要輸入使用者名稱和密碼,其中使用者名稱只能由6~10 位數字組成,密碼只能有6 位,任何不符合使用者名稱或密碼要求的情況都視為異常,並且需要捕獲並處理該異常。

相關影片教學分享:java影片教學

以下使用自訂例外類別來完成使用者登入資訊的驗證功能,實作步驟如下。

(1) 編寫自訂異常類別 LoginException,該類別繼承自 Exception。在LoginException 類別中包含兩個建構方法,分別為無參的建構方法和含有一個參數的建構方法,程式碼如下:

 

public class LoginException extends Exception
{
public LoginException()
{
super();
}
public LoginException(String msg)
{
super(msg);
}
}
登入後複製

(2) 建立測試類別Test08,在在該類別中定義validateLogin() 方法,用於驗證使用者名稱和密碼。當使用者名稱或密碼不符合要求時,使用自訂異常類別 LoginException 輸出對應的異常資訊。 validateLogin() 方法的定義如下:

public boolean validateLogin(String username,String pwd)
{
boolean con=false; //用户名和密码是否正确
boolean conUname=false; //用户名格式是否正确
try
{
if(username.length()>=6&&username.length()<=10)
{
for(int i=0;i<username.length();i++)
{
char ch=username.charAt(i); //获取每一个字符
if(ch>=&#39;0&#39;&&ch<=&#39;9&#39;)
{ //判断字符是否为0~9的数字
conUname=true; //设置 conUname 变量值为 true
}
else
{ //如果字符不是0~9的数字,则拋出LoginException异常
conUname=false;
throw new LoginException("用户名中包含有非数字的字符!");
}
}
}
else
{ //如果用户名长度不在6~10位之间,拋出异常
throw new LoginException("用户名长度必须在6〜10位之间!");
}
if(conUname)
{ //如果用户名格式正确,判断密码长度
if(pwd.length()==6)
{ //如果密码长度等于6
con=true; //设置con变量的值为true,表示登录信息符合要求
}
else
{ //如果密码长度不等于6,拋出异常
con=false;
throw new LoginException("密码长度必须为 6 位!");
}
}
}
catch(LoginException e)
{ //捕获 LoginException 异常
System.out.println(e.getMessage());
}
return con;
}
(3) 在 Test08 类中添加 main() 方法,调用 validateLogin() 方法,如果该方法返回 true,则输出登录成功的信息。main() 方法的定义如下:
 
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
System.out.println("用户名:");
String username=input.next();
System.out.println("密码:");
String password=input.next();
Test08 lt=new Test08 ();
boolean con=lt.validateLogin(username,password); //调用 validateLoginO 方法
if(con)
{
System.out.println("登录成功!");
}
}
登入後複製

在本程式的 validateLogin() 方法中使用條件控制語句和  for 迴圈語句分別對使用者名稱和密碼進行了驗證。任何不符合使用者名稱或密碼要求的情況都會拋出自訂異常 LoginException,並在 catch 語句中捕獲該異常,輸出異常資訊。

運行程序,當使用者輸入的使用者名稱含有非數字字元時將拋出 LoginException 異常,執行 catch 語句區塊中的程式碼列印異常訊息,如下所示。

用户名:
xiake8!
密码:
123456
用户名中包含有非数字的字符!
登入後複製

當使用者輸入的使用者名稱長度不在 6~10 位元時同樣會拋出 LoginException 異常並列印異常訊息,如下所示。

用户名:
administrator
密码:
123456
用户名长度必须在6~10位之间!
登入後複製

當使用者輸入的登入密碼不等於 6 位元時也會拋出 LogWException 異常,並列印出異常訊息,如下所示。

用户名:
20181024
密码:
12345
密码长度必须为 6 位!
登入後複製

當使用者輸入的使用者名稱和密碼都符合要求時,則列印登入成功的訊息,如下所示。

用户名:
20181024
密码:
123456
登录成功!
登入後複製

以上是java如何判斷使用者名稱和密碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板