設置一個全局的整型變量 int i=0;
網站建設哪家好,找創新互聯公司!專注于網頁設計、網站建設、微信開發、微信小程序定制開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了閻良免費建站歡迎大家使用!
如果密碼錯誤變量就加1
判斷變量是否大于等于三 if(i=3)
將帳號鎖定
用While和一個計數變量,以下是偽代碼
定義計數變量并歸零
定義狀態變量并歸零
while(計數變量3且狀態變量為真)
{
輸入密碼
if(密碼正確)
{
狀態變量設定為真
}
else
{
計數變量+1
密碼框清空
}
}
if(狀態變量不為真) /說明前面的循環結束是因為輸錯了三次
{
提示:請管理員解鎖
【密碼輸入過程與上方用while循環類似】
}
else
{
(剩余操作)
}
while是循環啊,應該用if吧,讓用戶有三次輸入驗證的機會string uid="XX";//用戶輸入的帳號string pwd="XX";//用戶輸入的密碼int num=1;//用戶輸入驗證的次數 if(num=3){ if(如果用戶輸入的帳號和密碼驗證通過){ // 進行相關操作 }else{ num++; return;// } }else{ //彈出消息,告知用戶因為輸入錯誤超過3次,帳號被鎖定 }}
/*
java是面向對象的程序設計語言。我們要做的是用鑰匙開鎖。首先創建鎖類,定義鎖的屬性,也就是可以給鎖賦予密碼或者說給它一個鎖芯。鎖能干嘛,打開和鎖起。打開就要用鑰匙去匹配鎖孔,密碼鎖就要用你輸入的密碼去匹配鎖的密碼,密碼正確,鎖就打開,錯誤就打不開。鎖的鎖起,不需要鑰匙就鎖起了。
/
public?class?Lock{
String??lock;???//定義鎖密碼????
void?onlock(){????
?System.out.println("鎖起來了");
}
void??unlock(String?keys){???//開鎖。插入鑰匙,看能不能開鎖。
if(keys?==?lock){
System.out.println("鎖能打開");
}else{
System.out.println("您的鑰匙不匹配");
}
}
}
/
*測試我們的鎖。
/
public?class?Test?{
public?static?void?main(String[]?args)?{
Lock?lock?=?new?Lock();
lock.lock="dxnwd333";
lock.onlock();
lock.unlock("abc");
lock.unlock("dxnwd333");
}
}
對象是一個鎖標志。按照先到先得的原則,如果有多個線程都會執行代碼,并使用同一個對象作為鎖,
synchronize(對象){ .... }
那么,先執行這段代碼的那個線程,將會獲得這個對象鎖,而當這個線程執行這段代碼的時候,其他線程也是使用這個對象作為鎖的,就不能執行這段代碼,知道最初得到這個鎖的線程運行完這段代碼,然后再把鎖分配給下一個線程執行。
public Object getObject(String key,Object o) {
synchronized (map) {
if(map.get(key)==null) {
map.put(key,o)
}else {
return map.get(key);
}}// 格式沒法弄,自己弄一下
}
// demol0326 的回答意思使用MyTest的實例來加鎖,但是map是static的,無法鎖住
// MyTest的多個實例在多個線程中的請求
//禾木雙子 :如果A線程在getObject方法的第二行停止,此時B線程進入getObject后執行部分代碼, 此時B線程停止,A線程啟動,他不會執行'多線程處理', 仍然有線程線程安全問題,(想像一下更多的線程進入該方法的情況,num甚至會得到負值)
標題名稱:Java密碼鎖代碼,加密java代碼
本文來源:http://m.2m8n56k.cn/article12/hojcdc.html
成都網站建設公司_創新互聯,為您提供Google、網站收錄、網站排名、響應式網站、網站導航、云服務器
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯