慕婉清8876079
2016-08-12 10:29:44浏览 1814
package imoocDemos;
import java.util.Random;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class StringDemo {
public static void main(String[] args) {
generateString();
}
/**
* 输出一个字符串,字符串长度最长为10,字符长包含大小写字母和0-9
* @return
*/
public static void generateString() {
//数字0-9的ASCII码是48-57
//字符A-Z的ASCII码是65-90
//字符a-z的ASCII码是97-122
//字符串的输入条数是10条
List<String> string = new ArrayList<String>();
//当集合中元素不超过10个时,继续添加
while(string.size() < 10) {
Random rand = new Random();
//字符串长度
int length = rand.nextInt(9) + 1;
char[] chr = new char[length];
//获得10字符以内的一个字符数组
for (int i = 0; i < length; i ++) {
int num = rand.nextInt(123); //随机生成一个123以内的整数
if ((num >= 48 && num <= 57) (num >= 65 && num <= 90) (num >= 97 && num <= 122) ){ //判断整数是否在所需范围内
chr[i] = (char) num;
} else {
i --;
continue;
}
}
//String str = Arrays.toString(chr);
//这个方法得到的是一个数组样式的String,每个字符间用“,”隔开,并且两端有中括号。
String str = new String(chr);
if (!(string.contains(str))) {
string.add(str);
System.out.println("成功添加元素: " + str);
} else {
System.out.println("集合中已有相同元素:" + str);
continue;
}
}
System.out.println("排序之前的字符序列为:");
printString(string);
Collections.sort(string);
System.out.println("-------------------------------");
System.out.println("排序之后的字符序列为:");
printString(string);
}
//打印字符串数组
public static void printString(List<String> string) {
for (String str: string) {
System.out.println(str);
}
}
}