本人想随机输出4Tdf这样的混合数,但是没有思路,不知道从那下手,请各位高手指点,最好是代码详细说明. 
首先表示感受!!!

解决方案 »

  1.   

    1 做一个数字和字母的字符串,或者char[]也行
    2 使用random 生成一个随机的索引数字,比如
    Random r = new Random();
    int index = r.nextInt(str.length()); // 索引不超过字符串的最大长度
    char c = str.charAt(index);
    3 循环,拼装吧!
      

  2.   

    把26个字母和10个数字加到一个数组里。
    Vector vt =new Vector();
    for (int i = 0; i < 10; i++) {
    Integer t =new Integer(i);
    vt.add(t.toString());
    }
    vt.add('a');
    vt.add('b');
    vt.add('c');
    vt.add('d');
    vt.add('e');
    vt.add('f');
    vt.add('g');
    vt.add('h');
    /*
     * 一直加到z。
     * 
     * */
    Random r =new Random();
    StringBuffer rwords =new StringBuffer(); 
    for (int i = 0; i < 4; i++) {
    int t = r.nextInt(vt.capacity());
    rwords.append(vt.get(i));
    }
    System.out.println(rwords);
    搞定了。这个有点麻烦如果在C++或在C#里面就更简单了。
      

  3.   

    public static String gen(int n)
    {
    Random r = new Random();
    String randstr = "";
    for (int i = 0; i < n; i++)
    {
    randstr += (char)(r.nextBoolean()?(r.nextInt(26)+(int)'a'):(r.nextInt(26)+(int)'a'-32));
    }
    return randstr;
    }
      

  4.   

    随机生成48 - 57,65 - 90, 97 - 122的数字,然后转换成char就可以了,使用上面的字符数组,可以简化只要生成一个随机数。
      

  5.   

    ...You also can create a String array includes [A-Za-z0-9], and get elements at random...
      

  6.   

    public String randomSrtring(int i)
    {
    String str="组成字符";
    Random rand=new Random();
    StringBuffer generateRandStr = new StringBuffer();
    for(int j=0;j<i;j++)
    {
      generateRandStr.append(str.charAt(rand*str.length));
    }
    return str1;
    }
      

  7.   


    先写个数组.转成list不行了. 搞这么麻烦
      

  8.   

                    String str="abcdefghijklmnopqrstuvwxyz1234567890";
    Random r = new Random();
    int n=4;
    for(int i=0;i<n;i++){
    int index = r.nextInt(str.length()); 
    char c = str.charAt(index);
    System.out.print(c);
    笨方法 效果达到了
      

  9.   

    从随即生成的int型强制转换成char