为了账号安全,请及时绑定邮箱和手机立即绑定

参考了一点点其他同学的,我自己做了这段代码,感觉比较简单

package com.imooc.collection;


import java.util.*;


import javax.print.DocFlavor.STRING;


public class StringCollection {

List<String> ST = new ArrayList<String>();

public void add(){


Random random = new Random();

//定义一个包含所有字符的字符串

String sourse = "0123456789qwertyuiopasdfghjklzxcvbnm";

for(int i = 0;i < 10;i++){

//添加的次数

String str ="";

do{

int length = 1+random.nextInt(9);

//生成随机字符串的长度

for(int j = 0;j<length;j++){

//生成每个位置的字符

char x = sourse.charAt(random.nextInt(sourse.length()-1));

str = str + x;

}

}while(ST.contains(str));

{

ST.add(str);

System.out.println("第"+(i+1)+"次添加的字符串为"+str);

}

}

}

public void sort(){

System.out.println("------排序前-------");

Iterator<String> it = ST.iterator();

while(it.hasNext()){

String str = it.next();

System.out.println(str);

}

System.out.println("------排序后-------");

Collections.sort(ST);

Iterator<String> it2 = ST.iterator();

while(it2.hasNext()){

String str2 = it2.next();

System.out.println(str2);

}

}

public static void main(String[] args) {

// TODO 自动生成的方法存根

StringCollection sc = new StringCollection();

sc.add();

sc.sort();

}

}


正在回答

5 回答

从简单到复杂,一步一步积累而来的,慢慢就可以写出复杂的代码,当你写出复杂的代码是,你就开始考虑如何去让代码更简洁,运行效率更高,又是从复杂到简单的过程,望楼主采纳打赏!

0 回复 有任何疑惑可以回复我~

nextInt()方法的参数是不被包含的,应该把9改成10

0 回复 有任何疑惑可以回复我~
package com.imooc.collection;

import java.util.*;

import javax.print.DocFlavor.STRING;

public class StringCollection {
List<String> ST = new ArrayList<String>();
	public void add(){

		Random random = new Random();
		//定义一个包含所有字符的字符串
		String sourse = "0123456789qwertyuiopasdfghjklzxcvbnm";
		for(int i = 0;i < 10;i++){
			//添加的次数
			String str ="";
			do{
			int length = 1+random.nextInt(9);
			//生成随机字符串的长度
			for(int j = 0;j<length;j++){
				//生成每个位置的字符
				char x = sourse.charAt(random.nextInt(sourse.length()-1));
				str = str + x;
			}
			}while(ST.contains(str));
					{
			ST.add(str);
			System.out.println("第"+(i+1)+"次添加的字符串为"+str);
			}
		}
	}
	public void sort(){
		System.out.println("------排序前-------");
		Iterator<String> it = ST.iterator();
		while(it.hasNext()){
			String str = it.next();
			System.out.println(str);
		}
		System.out.println("------排序后-------");
		Collections.sort(ST);
		Iterator<String> it2 = ST.iterator();
		while(it2.hasNext()){
			String str2 = it2.next();
			System.out.println(str2);
		}
	}
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		StringCollection sc = new StringCollection();
		sc.add();
		sc.sort();
	}
}


0 回复 有任何疑惑可以回复我~

贴代码的 时候可以选择 代码语言 这样 系统有缩进 别人也好看呢!

0 回复 有任何疑惑可以回复我~
#1

帅弟弟 提问者

嗯 谢谢提醒,我没有注意到效果、
2016-01-06 回复 有任何疑惑可以回复我~

不能把代码格式规范下嘛,看着不累么

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

参考了一点点其他同学的,我自己做了这段代码,感觉比较简单

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信