網(wǎng)上流傳一句話:”常在網(wǎng)上飄啊,哪能不挨刀啊~”。其實(shí)要想能安安心心地上網(wǎng)其實(shí)也不難,學(xué)點(diǎn)安全知識(shí)就可以。
首先,我們就要設(shè)置一個(gè)安全的密碼。那什么樣的密碼才叫安全的呢?一般來(lái)說(shuō)一個(gè)比較安全的密碼至少應(yīng)該滿足下面兩個(gè)條件:
(1).密碼長(zhǎng)度大于等于8,且不要超過(guò)16。 (2).密碼中的字符應(yīng)該來(lái)自下面“字符類別”中四組中的至少三組。
這四個(gè)字符類別分別為: 1.大寫(xiě)字母:A,B,C…Z; 2.小寫(xiě)字母:a,b,c…z; 3.數(shù)字:0,1,2…9; 4.特殊符號(hào):~,!,@,#,$,%,^;
給你一個(gè)密碼,你的任務(wù)就是判斷它是不是一個(gè)安全的密碼。
Input 輸入數(shù)據(jù)第一行包含一個(gè)數(shù)M,接下有M行,每行一個(gè)密碼(長(zhǎng)度最大可能為50),密碼僅包括上面的四類字符。
Output 對(duì)于每個(gè)測(cè)試實(shí)例,判斷這個(gè)密碼是不是一個(gè)安全的密碼,是的話輸出YES,否則輸出NO。
Sample Input 3 a1b2c3d4 Linle@ACM ^~^@^@!%
Sample Output NO YES NO
貌似用衛(wèi)條件會(huì)更簡(jiǎn)單點(diǎn),當(dāng)時(shí)做的時(shí)候根本沒(méi)想到
import java.util.*;class Main{ //indexOf()的用法:返回字符中indexof(string)中字串string在父串中首次出現(xiàn)的位置,從0開(kāi)始!沒(méi)有返回-1;方便判斷和截取字符串! public static void main(String args[]){ Scanner sc=new Scanner(System.in); int m=sc.nextInt(); while(m-->0){ String str=sc.next(); String cin="~!@#$%^"; // final String CHARS="~!@#$%^"; char []s=str.toCharArray();int k=0;int a=0; if(s.length>=8&&s.length<=16){ for(int i=0;i<s.length;i++){ if(s[i]>='A'&&s[i]<='Z'){ k++;break; } } for(int i=0;i<s.length;i++){ if(s[i]>='a'&&s[i]<='z'){ k++;break; } } for(int i=0;i<s.length;i++){ if(s[i]>='0'&&s[i]<='9'){ k++;break; } } for(int i=0;i<s.length;i++){ if(cin.indexOf(s[i])!=-1){ k++;break; } } if(k>=3){ System.out.println("YES"); }else{ System.out.println("NO"); } }else{ System.out.println("NO"); } } }}新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注