String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@.+-*/_";如上面的字符串,我想在里面随机取8位组成一个新的字符串,如何实现?路过的大神指点下。字符串,随机string

解决方案 »

  1.   

    这里没考虑重复的
    public void testString()
    {
        Random random = new Random();
        String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@.+-*/_";
        
        int str_len = str.length();
        StringBuffer stringBuffer = new StringBuffer();
        for(int i=0; i<8; i++)
        {
            int temp_radom =  random.nextInt(str_len-1)%(str_len);
            stringBuffer.append(str.substring(temp_radom, temp_radom+1));
        }
        System.out.println(stringBuffer.toString());
    }