import?java.util.Random;
import?java.util.Scanner;
/**
?*?一個4位驗證碼生成驗證器(不區分大小寫)
?*?
?*?@author?WuHongFei
?*
?*/
public?class?Demo54?{
public?void?fangFa()?{
StringBuilder?string?=?new?StringBuilder();
Random?random?=?new?Random();
//?生成一個隨機的4位驗證碼
for?(int?i?=?1;?i?<=?4;?i++)?{
String?ku?=?"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
string.append(ku.charAt(random.nextInt(ku.length())));
}
System.out.println("驗證碼:"?+?string);
//?驗證碼輸入與判斷是否相同
while?(true)?{
Scanner?input?=?new?Scanner(System.in);
System.out.println("請輸入驗證碼(不區分大小寫):");
String?yanZhengMa?=?input.next();
//?將生成的驗證碼與用戶輸入的驗證碼都轉換為小寫的進行判斷是否相同
if?(yanZhengMa.toLowerCase().equals(string.toString().toLowerCase()))?{
System.out.println("***您輸入的驗證碼通過!***");
break;
}?else?{
System.out.println("***您輸入的驗證碼有誤!***");
}
}
}
public?static?void?main(String[]?args)?{
Demo54?demo?=?new?Demo54();
demo.fangFa();
}
}我還想實現一個,看不清刷新驗證碼的功能(不能獲取點擊刷新,想通過手動輸入-1來實現),但是想了半天也不知道怎么弄!要用到Java基礎以外的知識嗎?如果我用我現在才學的《Java1,2,3季基礎》知識還不能解決的話在下面留言就好,我學到哪里了在解決!
3 回答
已采納

路人丶丨
TA貢獻115條經驗 獲得超45個贊
yanZhengMa.toLowerCase()?//這個不應該放在equals的前邊
寫equals方法的時候,應該讓必定有的值放在equals放在左邊,這樣不會再輸入null的情況下出現nullPointerException
-1那個沒聽懂

添加回答
舉報
0/150
提交
取消