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

作业出炉!!!!!!!!

package com.interater;

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


public class StringSort {
	/**
	 * 1 创建 List<String> 泛型,添加十条随机字符串;
	 * 2 每条字符的长度为10以内的随机整数;
	 * 3 每条字符串的每个字符都为随机生成的字符,字符可以重复;
	 * 4 每条随机字符串不可以重复。
	 */
	public void testStringSort(){
		//创建泛型
		List<String> stringList = new ArrayList<String>();
		Random random = new Random();
		//生成随机字符串
		String k;
		for (int i=0;i < 10;i++){
			do {
				k = this.getRandomString(random.nextInt(10));    //调用生成字符串的方法getRandomString(int length) 将10以内的随机数作为长度参数传入
			} while (stringList.contains(k));
			stringList.add(k);
			System.out.println("成功添加字符串"+k);
		}
		System.out.println("=============排序前================");
	    for (String  string: stringList) {
			System.out.println("元素:  "+string);
		}
	    Collections.sort(stringList);    //对stringList进行排序
	    System.out.println("==============排序后================");
	    for (String string: stringList) {
			System.out.println("元素:  "+string);
		}
	}
	/**
	 * 
	 * @param length  要生成的字符串的长度
	 * @return  一个随机生成的字符串
	 */
	public String getRandomString(int length) {
		//创建字串源串
	    String base = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
	    //调用随机类实例
	    Random random = new Random();     
	    //调用Sting 实现类 StringBuffer 的 实例
	    StringBuffer sb = new StringBuffer();
	    //根据传参 生成一个 length长度的字符串
	    for (int i = 0; i < length; i++) { 
	    	//取得一个 源串长度以内的 随机整数
	        int number = random.nextInt(base.length()); 
	        //调用StringBuffer的append()方法将 一个随机char(利用charAt方法把随机数number当成索引传入取得源串中的一个随机char)追加到这个字符串序列之后
	        sb.append(base.charAt(number));     
	    }     
	    return sb.toString();     //将字符串返回到外面调用
	 }
	
	public static void main(String[] args){
		StringSort ss = new StringSort();
		ss.testStringSort();
	}
}


正在回答

3 回答

请问 k = this.getRandomString(random.nextInt(10));中的this是什么意思?有什么作用?求解答!!

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

星辉银河

this关键字代表当前对象 this.属性 操作当前对象的属性 this.方法 调用当前对象的方法 this.getRandomString(random.nextInt(10));就是调用当前对象的getRandomString方法。 这部分内容在JAVA入门第二季《封装》一章中有讲。
2015-08-07 回复 有任何疑惑可以回复我~

nextInt(int n) 返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。
所以24行应该是,这样应该对吧

 k = this.getRandomString(random.nextInt(10)+1);


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

谢谢~~

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

举报

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

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

进入课程

作业出炉!!!!!!!!

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