要求:随机打印50个随机(4-10长度)的字符串,要求字符串包含的范围是所有的英文字母包含大小写和数字,按照编码顺序排序,每行打印4个,要求首字符对齐
代码:
package 华为机试题;
import java.util.Arrays;
import java.util.Random;
/**
* @author Hutongling
*
* @time:2017年4月8日 上午11:01:47
*/
public class 随机字符串排序 {
static String[] randomString() {
String[] result = new String[50];
String template = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
Random random = new Random();
for (int i = 0; i < 50; i++) {
int length = random.nextInt(6) + 4;
String buffer = "";
for (int j = 0; j < length; j++)
buffer+= template.charAt(random.nextInt(62));
result[i] = buffer;
buffer = null;
}
return result;
}
public static void main(String[] args) {
String[] result=randomString();
Arrays.sort(result);
for(int i=0;i<result.length;i++){
if((i+1)%4!=0)
System.out.printf("%-10s",result[i] );
else
System.out.printf("%-10s\n",result[i] );
}
}
}
代码结果:
1Mtvq 4h9tJVA8 7W0cQMurX 7yjai1PhF
AKlfZT CMEHT0X D6zlza6 DkxbvR
EKPBh08 H9OyETPv I1Rv J17IrE7
JlYiZIu LUHZhyXa MUxfe MvzQBAdvN
N5H3J8mP ODrbLD OqtaokpRZ SSME6Ce2
TAx69NG ToRTdU3gy VuG5HtE Wnjc0Bu
XVne Y07RlvSp6 ZC3o5ozF cjw9ECbN
etMCR eu01 fUB4CHBxW gdBn7
huT0RQbw iYqpabvhz jq7M juUMk2
kMonp mSq8 mb5KLQa nbKswOD
ncrV nsOW9T pu6e5yiW pxFUhDbN4
s7qc tN7qC uQcA4 ucjaBo7Ve
yuFl2PV zJS4QP4mW