在java中随机生成一个无序且长度不大于10的字符串

package xiangmu;

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

public class TestCollection {
    /*
     * 通过定义Collections.sort()方法对String泛型进行List排序
     * 创建一个String泛型List,插入一个不超过10的随机字符串
     */
    /**
     * @param args
     */
    public void testSort1(){
        List<String> stringList=new ArrayList<String>();

        Random random=new Random();
        String k="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        //添加10个不同的随机字符串
        for(int i=0;i<10;i++){
            StringBuffer str=new StringBuffer();
            int stringLength=random.nextInt(10)+1;
            do{
                for(int j=0;j<stringLength;j++){

                int number=random.nextInt(k.length());
                str.append(k.charAt(number));

                }
            }while(stringList.contains(str.toString()));//调用stringList.contains()方法将字符串传递进去
            stringList.add(str.toString());//将字符串加入到stringList中,调用stringList.add()方法
            System.out.println("成功添加字符串:"+str);
        }
        System.out.println("----------排序前---------------");
        //用foreach进行遍历
        for(String string:stringList){

            System.out.println("元素:"+string);
        }
        Collections.sort(stringList);//调用Collections.sort()进行排序
        System.out.println("----------排序后---------------");
        for(String string:stringList){

            System.out.println("元素:"+string);
        }

    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        TestCollection ct=new TestCollection();
        ct.testSort1();
    }

}

时间: 2024-11-06 19:36:38

在java中随机生成一个无序且长度不大于10的字符串的相关文章

java中随机生成字符串的方法(三种)

1.生成的字符串每个位置都有可能是str中的一个字母或数字,需要导入的包是import java.util.Random; //length用户要求产生字符串的长度 public static String getRandomString(int length){ String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; Random random=new Random(); StringB

java中随机生成随机数及不重复的随机数字

Java中产生随机数 1 . 调用java.lang下面Math类中的random()方法产生随机数 public class MyRandom { public static void main(String[] args) { int  radom = (int)(Math.random()*10); System.out.println(radom); } } 其中Math.random() //产生0~1之间的一个随机小数. 产生一个0~9之间的整数为:(int)(Math.random

java中随机生成汉字

main方法中使用: //随机生成100个汉字 String ss=""; for(int i=0;i<100;i++){ ss+=getChinese(i); } System.out.println(ss); 结果如图: //随机生成汉字//seed指定Random(long seed)中的种子数public static String getChinese(long seed) throws UnsupportedEncodingException{ String str=

《Unity3d-在地图中随机生成一个物体的代码》

//思路:使用.Instantiate方法控制生成 但是在生成前一定要计算好生成的鱼儿的条件控制 public class FishController : MonoBehaviour{ public int maxCount = 10; //鱼池中鱼最大存在的个数 public int count = 0; //当前鱼池中鱼的个数 public GameObject[] fishArray; //设置与鱼的数组随机生成鱼 public float timer = 0; //生成鱼的时间间隔 p

JAVA如何随机生成一个汉字

package com.test; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.Random; /** * @author QiaoJiafei * @version 创建时间:2015年12月21日 下午2:53:44 * 类说明 */ public class TestSiSheWuRu { public static void main(String args[]) { TestS

java 随机生成一个中文、判断某个string是否是中文以及打印出全部的中文

现在网上大多数用于判断中文字符的是 U+4E00..U+9FA5 这个范围是只是"中日韩统一表意文字"这个区间,但这不是全部,如果要全部包含,则还要他们的扩展集.部首.象形字.注间字母等等; 2E80-A4CF: 包含了中日朝部首补充.康熙部首.表意文字描述符.中日朝符号和标点.日文平假名.日文片假名.注音字母.谚文兼容字母.象形字注释标志.注音字母扩展.中日朝笔画.日文片假名语音扩展.带圈中日朝字母和月份.中日朝兼容.中日朝统一表意文字扩展A.易经六十四卦符号.中日韩统一表意文字.彝

PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。

Python 练习 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的数,屏幕显示"太大了,请重新输入"如果小于预设的数,屏幕显示"太小了,请重新输入"如此循环,直到猜中,显示"恭喜你,猜中了!共猜了N次"N为用户猜测次数. 答案: import random def guess_number(): true_num = random.randint(1, 100) user_n

随机生成一个数独

最近学习用Java编写GUI程序,感觉从做一个小东西入手最好,选择了编写一些小游戏开始,第一个为数独游戏. http://en.wikipedia.org/wiki/Sudoku 编写数独游戏第一步考虑的就是该如何生成一个原始的数独题目,要想生成数独题目最简单的办法就是先随机生成一个完整的数独,然后从中摘除一些数字,这样就可以生成一道数独题.所以需要考虑如何随机的生成一个完整的数独,这里考虑使用回溯法生成: 在数独的某个位置插入一个1~9的值 如果这个值能正常插入,则递归在下一个位置插入 如果这

转:在0~N(不包括N)范围内随机生成一个长度为M(M &lt;= N)且内容不重复的数组

1. 最朴素暴力的做法. void cal1() { int i = 0, j = 0, num = 0; int result[M]; result[0] = rand() % N; //第一个肯定不重复, 直接加进去 for (i = 1; i < M; i++) //获得剩下的(M-1)个随机数 { num = rand() % N; //生成0 ~ N之间的随机数字 for (j = 0; j < i; j++) { if (num == result[j]) //如果和result数