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

交个作业!!!

package com.practice;

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

/**
 * 练习:利用Collections.sort()方法对泛型为String的List排序
 *1、创建List<String> stringList=new ArrayList<String>();往其中添加十条随机字符串
 *2、每条字符串长度为10以内的随机整数
 *3、每条字符串的每个字符为随机生成的字符,字符可以重复
 *4、每条随机生成的字符串不可以重复
 */
public class CollectionsSort {

 /*

*创建 返回一个规定长度的字符串的方法

*/
  public static String getRandomString(int length){
      String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
     //由Random生成随机数
      Random random=new Random();
      //创建一个StringBuffer空对象;
      StringBuffer sb=new StringBuffer();
      //循环length次
      for(int i=0;i<length;i++){
        int number=random.nextInt(str.length()-1);
        //将length次产生的字符通过加入到sb中
        sb.append(str.charAt(number));
      }
      //将承载的StringBuffe字符串转换为String字符串
      return sb.toString();
  }
 

/*

*创建 含十条随机字符串的List并实现排序

*/
 
  public static void getRandomStringList(){
            List<String> stringList=new ArrayList<String>();
            Random random=new Random();
            String st;
            for(int i=0;i<10;i++) {
       do {
       st=CollectionsSort.getRandomString(random.nextInt(9)+1);
       }while(stringList.contains(st)); //如果stringList包含生成的字符需要重新生成一个
       stringList.add(st);
       System.out.println("将要添加字符串:"+st);
      } 
       System.out.println("------------排序前---------------");
       for (String string : stringList) {
        System.out.println("元素:"+string);
       } 
       
       Collections.sort(stringList);
       System.out.println("------------排序后---------------");
       for (String string : stringList) {
        System.out.println("元素:"+string); 
       }
  }
  
  public static void main(String[] args) {
   CollectionsSort.getRandomStringList();
 }
 
}


正在回答

1 回答

public String testRandomString() {

StringBuilder stringBuilder = new StringBuilder();

// 存放所包含字符62位

String container = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

Random random = new Random();

int num = 0;

while (num == 0) {

num = random.nextInt(10);

}

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

int index = random.nextInt(62);

stringBuilder.append(container.charAt(index));

}

return stringBuilder.toString();

}


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

举报

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

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

进入课程

交个作业!!!

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