第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何生成隨機(jī)字符串并將其放入HashTable?

如何生成隨機(jī)字符串并將其放入HashTable?

阿晨1998 2022-11-02 16:08:27
我想生成一個(gè)隨機(jī)的唯一字符串并放入哈希表。我確實(shí)喜歡下面的代碼,但它不是唯一的,它只是一個(gè)字符。while(k<4){    for(int j=1 ; j<=13 ;j++){        Hashtable<Integer, String> Deck = new Hashtable();          int myChar = (int) (Math.random()*str.length());        StringBuilder sb = new StringBuilder();        sb.append(str.charAt(myChar));         int i = (int) (Math.random() *52) ;         Deck.put(i, sb.toString());        System.out.print(Deck);    }    System.out.println();    k++;}輸出是這個(gè){30=d}{9=e}{11=b}{10=d}{43=g}....我想成為{30=dea}{9=egt}{11=brf}{10=dgrtg}{43=grrh}{14=gwrt}.....
查看完整描述

3 回答

?
達(dá)令說

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以使用 Apache Commons Lang 生成字母字符串


String generatedString = RandomStringUtils.randomAlphanumeric(10);

嘗試這樣的事情


    Hashtable<Integer, String> Deck = new Hashtable();


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

        String generatedString = RandomStringUtils.randomAlphanumeric(10);

        int key = (int) (Math.random() *52) ;

        Deck.put(key, generatedString);

    }

    System.out.println(Deck);

輸出


{9=Ut7N87oMNp, 8=7kbARh5WIy, 7=pbU2ZCOGK1, 6=vAGAIw41Us, 5=VLnpY1FAuN, 4=UEIJNIvZlt, 3=z6Y3zXcDY1, 2=PxaMqXl8XW, 1=l72bkPdY6T, 0=FFdOsKpQgd}

如果你只想要 Alphabets 然后使用RandomStringUtils.randomAlphabetic(10);instaed of RandomStringUtils.randomAlphanumeric(10)。


如果您不想要第三方 api,那么您的代碼片段會(huì)進(jìn)行一些更改


while (k < 4) {

        for (int j = 1; j <= 13; j++) {

            Hashtable<Integer, String> Deck = new Hashtable();

            StringBuilder sb = new StringBuilder();

            int cnt = 0;

            while (cnt++ != 10) {

                int myChar = (int) (Math.random() * str.length());

                sb.append(str.charAt(myChar));

            }

            int i = (int) (Math.random() * 52);

            Deck.put(i, sb.toString());

            System.out.print(Deck);

        }


        System.out.println();

        k++;

    }

僅添加了while循環(huán)...


查看完整回答
反對(duì) 回復(fù) 2022-11-02
?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊

您可以使用以下代碼生成隨機(jī)字符串。


private static final String ALPHA_STRING = "abcdefghijklmnopqrstuvwxyz";


public static String randomString(int count) {

    StringBuilder builder = new StringBuilder();

    while (count-- != 0) {

        int character = (int) (Math.random() * ALPHA_STRING.length());

        builder.append(ALPHA_STRING.charAt(character));

    }

    return builder.toString();

}


public static void main(String[] arg) {

    Hashtable<Integer, String> Deck = new Hashtable();

    for (int j = 1; j <= 10; j++) {

            Deck.put(j, randomString(12));

    }

    System.out.println(Deck);



}

輸出


{10=upjolkfihcyh, 9=irpbrcoclcmx, 8=ppugclscjlja, 7=wtnvkpmocuwd, 6=gpyzppvywazp, 5=vosixtjvcqlg, 4=plwtzzjpzeoq, 3=wsdyyppphhng, 2=knqdzfctfnez, 1=jzakqfiksrho}


查看完整回答
反對(duì) 回復(fù) 2022-11-02
?
慕尼黑5688855

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊

嘗試使用以下代碼使用隨機(jī)方法生成唯一密鑰。


private char[] uniqueKeyGenerator(int len) {


        String Capital_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

        String Small_chars = "abcdefghijklmnopqrstuvwxyz";

        String numbers = "0123456789";

        String values = Capital_chars + Small_chars + numbers;


        // Using random method

        Random rndm_method = new Random();

        char[] password = new char[len];

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

            password[i] = values.charAt(rndm_method.nextInt(values.length()));

        }

        return password;

    } 


查看完整回答
反對(duì) 回復(fù) 2022-11-02
  • 3 回答
  • 0 關(guān)注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)