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

供大家参考,随机产生字符串并排序。顺便问问还有什么地方改进么?

package com.imooc.sortwork;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

public class Sort {
	
	public List<String> randomString;
	public List<Character> elementsKit;
	public Random random;
	
	Sort(){
		randomString=new ArrayList<String>();
		elementsKit=new ArrayList<>();
		random=new Random();
	}
	
	public void prepareRandomSring(){
		//将a~z添加进Kit中
		for(char i=97;i<=122;i++){
			elementsKit.add(i);
		}
		//将A~Z添加进Kit中
		for(char i=65;i<=90;i++){
			elementsKit.add(i);
		}
		//将0~9添加进Kit中
		for(char i=48;i<=57;i++){
			elementsKit.add(i);
		}
	}//这是Kit中应该有62个elements了,最后一个的下标是61.
	
	public void getRandomString(){
		int i=0;
		while(i<10){					
			StringBuilder[] string=new StringBuilder[10];
			string[i]=new StringBuilder();
			
			do{
				for(int j=0;j<random.nextInt(10)+1;j++){
					
					string[i].append(elementsKit.get(random.nextInt(62)).charValue());
				}
			}while(randomString.contains(string[i]));
			randomString.add(string[i].toString());
			i++;
		}
	}
	public void show(){
		for (Character ele : elementsKit) {
			System.out.print(ele+" ");
		}
	}
	public void sotr1(){
		System.out.println("--------排序前的顺序----------");
		for (String str : randomString) {
			System.out.println("这是第"+(randomString.indexOf(str)+1)+"个字符串: "+str);
		}
		System.out.println();
		System.out.println("--------排序后的顺序----------");
		Collections.sort(randomString);
		for (String str : randomString) {
			System.out.println("这是第"+(randomString.indexOf(str)+1)+"个字符串: "+str);
		}
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Sort demo=new Sort();		
		demo.prepareRandomSring();
		demo.getRandomString();		
		demo.sotr1();
	}
}


正在回答

1 回答

有两处代码重复,为何不写方法呢?仅仅是个建议。

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

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409792    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

供大家参考,随机产生字符串并排序。顺便问问还有什么地方改进么?

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