Java学习笔记之“比较字符串”

本文为在How2j的学习总结,只代表个人见解,如有不妥,望指出以便更正。

问题描述:创建一个长度是1000的字符串数组,使用长度是2的随机字符填充该字符串数组,统计这个字符串数组里重复的字符串有多少种。
注:需要去除重复次数大于2的情况。

package test;

/*创建一个长度是1000的字符串数组
    使用长度是2的随机字符填充该字符串数组
    统计这个字符串数组里重复的字符串有多少种*/

public class Test_String_compare_exercise {
     
	// 随机字符串产生方法
	private static String getrandomstr(int length) {
     
		char[] cs = new char[length];
		String pool = "";
		for(short i='0'; i<='9'; i++) {
     
			pool = pool + (char)i;
		}
		for(short i='A'; i<='Z'; i++) {
     
			pool = pool + (char)i;
		}
		for(short i='a'; i<='z'; i++) {
     
			pool = pool + (char)i;
		}
		for(int j=0; j<cs.length; j++) {
     
			int index = (int)(Math.random()*pool.length());
			cs[j] = pool.charAt(index);
		}
		String str = new String(cs);
		return str;
		
	}
	public static void main(String[] args) {
     
		String[] strarray = new String[1000];
		for(int i=0; i<strarray.length; i++) {
     
			strarray[i] = getrandomstr(2);
		}
		System.out.println("长度为1000的随机字符串数组:");
		for(String each : strarray) {
     
			System.out.print(each+" ");
		}
		// 设置重复计数的变量和存储重复字符串的StringBuffer
		int count = 0;
		StringBuffer sb = new StringBuffer();
		// 选择法筛选出重复字符串
		for(int i=0; i<strarray.length-1; i++) {
     
				for(int j=i+1; j<strarray.length; j++) {
     
					if(strarray[i].equals(strarray[j])) {
     
						//去除重复字符串大于2的情况
						if(sb.toString().contains(strarray[i])) {
     
							break;							
						}
						sb.append(strarray[i]+" ");
						count++;
						break;
					}
				}
		}
		System.out.printf("%n总共有%d种重复的字符串%n", count);
		System.out.printf("分别是:%n%s",sb.toString());
	    }	
}

运行结果如下

长度为1000的随机字符串数组:
Bt q5 uV wt Lw zC dn yf 2Q 0W 8e q6 gy VS zY 0f 0K yE uL JC ge hL kv tP AT oS EW f1 CM vA Dr AM Dl Ns Ec nG MA QX xi tr np Tg ka 53 kj UU FH jH MI 8V q0 eb DD 3O Vs LE CN fi GL ID 8h Bg C7 7X 5J lT uG nJ Zb 2P lm 6N us N7 JB wp Zc gY rI G6 0n bQ ts sc aa JM qP 7H ZN O4 YH GC 41 Q6 QL OP ep J1 oG dY uR O8 WL Mo Cu 0A Io dK JO tK Wa 1E pK ln t0 Ut SI nd PI zg YL sP 8P E0 X1 1I We Ir AA 1K KO MJ bD c0 EY lq nZ La uk 1D oJ 1d 1G TR tL jg RG nt TX Q8 cy eo Tr ih xa ya VE Mx aB jd sZ b4 v3 Kp cU PQ s3 ob eY 6q Wr YH 1y 1q pT DV y2 Ji W6 1I pz hd CH eb Jw DF UB O5 pv 0v c0 Hb VP T5 jA Mi Fk 4H 2o Mt 6P hS KS Ke dx 18 c8 1R 89 4I 0K IA mb kz hI Rn Aq S0 Es YA sm bS 4o 81 o0 rj zu d6 c7 ZE Lx jX PH N8 j3 86 Wk Fg mh qp Cl My Au eH CM LP 13 RK on Ir DS iI yj 0X Ol Fs 6L l1 dT qy E7 Xv 6Q fZ Fi 8E 08 TI KP 92 vx p7 L1 Ld Ej 8P 74 1o vO 0S Ft Pt WZ Nw wg F6 XE G5 mw 03 pr 8S VV JK ir Rb HS qs kw c8 0Q NO Wm On Zv 3r vO ma C6 w2 fi XA 9i Ld tV Jx gP bP ZY bq pW IB Ti A5 F1 0y LM p2 eD DL QH Zz HV op Iy Go HD L8 wx dR JG 69 Ni TN WG XP C0 Zp hC cB 3u Ws Rw CN i1 A5 HC SI IE AO ZR tJ wG Az GF fc ry Pk my 1B Zo sN 5T Fk hG II 8d Ja y0 Wu ai 72 kz 2i Qp FT Yv xg t5 Kq fm Nb l6 Q9 78 5J u5 PT Ci C8 pb qG 6L hw Oe xC K6 cc 6s xq xT tk Ym Fg 0r 5y rR tO JY vI Q5 6c p7 yE 6T KB Gz tS cu rv CK Ml 9P TN Vn U5 tO ew Qc Ar Oi jT e8 nN 28 WC Nh Rg XQ bZ 9h Ax lk 9K wv Am 1w 8z eb 0X jy FT Bz 1x zZ db q1 kQ Yp ck Jj ob LM ud nG mZ 9C rM 7c qV Wc o4 hi PT sS if XF n0 Bj Ne 8F oZ 1a Bw Ve kn cm 4O rG DY GM 53 qY gp GG og vT p8 Hs Zs kM x1 hm 40 RD 4k MJ zb 1F RB tk d4 bL ei Ky gl wr aT u5 Zm Uy mG ET CD 5F 49 rx pP wY NA WN Qi XC S6 GR xh Ns N5 yt 6g Bz RM fJ bG ZO sa xy GF NW 4V of 3k NV gv bT 5j hk Y7 rm QK a7 RN Lu fM 2d z1 Ie B5 UE ER 9y BE jH re oy 6b df qX Ks vr Eg H6 td WS Tz Lf 0M td cd zW Vd Fz zX VK zW 52 gB Iw Hj as GQ Qh XO Nl uL aW sF 25 60 zx TC ET 2H oM vj 9X U5 ah 0U nh Tm Ya 5t 4D Da gm 5t y8 ED A0 d6 Dx H3 W1 Ym u8 ti N6 GS ah Qc oV US Fj w1 ub LF LO Sj Xe gQ 1i 8H nM Q0 tP mK er B4 EK Md Wk C3 GX hs y0 qJ 2t Px nO fS 4Z or xO Cv fD G2 Rd pf fQ Gx ik Dj up K6 dw XR vo Bp kU CG Ly Bn NJ sV DZ ld 75 ua Ba GQ Le iT 6P hx Dk bT oq 1l rz oX xO De 29 Hg wk 3x Nj 0M cq Rz zX 4f RL k9 yk 1n ov Po Dk YK sy q7 SZ Pp Vd Jt Yn NI d4 Sf PK 1C Md UL rF i8 j5 D4 oo cR lJ dH 39 CA Lt c7 jK 5V 2h kR Up WB rI dN Vb gk Uk C6 9B Vg nC Z3 xZ zc JL j1 2t yF 7d 3s B7 sf Qi PZ M3 yD Wa Mp Ij 59 IY Zr 9n rV 3h ok sG w8 Xb lI RH jt de eo BG c8 av Yq tj fH 9c lv El U3 3X Xp 8p NW F9 5u bT C3 Hu xX R1 dA cJ ih wM dO Xe kE 8P 9o HH mG Xt gC LB 7z JS 9M 8x 0a IM xY SZ P2 K8 Tr UL 1H q1 B5 7I kn c5 LH 1h QQ AL f6 lG rS FC ep dZ Ps F4 NH 9e ZN j5 xJ ed Oo CF 3e t5 bo l4 uv 3G 0v aC 2Q Kb 5b 32 T1 03 Fe 6W 5w vz CB 7m YZ N3 u4 Pr qV 2t fV CH QN bt 21 Ql PK 2C QK 5R Vy Xc zf iQ RN tL wO Eg 2Q dU HM ON TM Cq qx U7 2h 3R z2 05 hX Sj GB MY 82 GX Al 4b yj 49 O1 rw kk Sz ex Xy J9 Jy fq kr 96 MK vd pp YO Ea OV UK mg 51 MQ ua ZJ PY rK Zd Yl GE VZ u0 ez dX mM Xb K9 8A pd lK Nb ZA Xa Pi R4 1P QP PW 
总共有102种重复的字符串
分别是:
2Q 0K yE uL tP CM Ns nG 53 jH eb CN fi 5J rI ZN YH ep Wa SI 8P 1I Ir MJ c0 tL eo Tr ih ob CH 0v Fk 6P c8 kz d6 c7 Wk Fg yj 0X 6L p7 Ld vO 03 C6 A5 LM TN GF y0 FT t5 Nb u5 PT K6 tk Ym tO U5 Qc Bz q1 qV kn d4 mG ET 49 Qi NW bT QK RN B5 Eg td 0M zW Vd zX GQ ah 5t Sj Xe Md C3 GX 2t xO ua Dk SZ PK UL j5 2h Xb 

你可能感兴趣的:(Java学习笔记)