recherche

Maison  >  Questions et réponses  >  le corps du texte

java - 随机不重复昵称怎么生成?

随机不重复昵称怎么生成?

阿神阿神2889 Il y a quelques jours1035

répondre à tous(5)je répondrai

  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:48:14

    1. HashSet détermine s'il est dupliqué

    2. UUID garanti de ne pas se répéter

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:48:14

    Vous pouvez ajouter des caractères chinois aléatoires, des chaînes anglaises aléatoires et des nombres aléatoires. S'ils sont répétés, les nombres suivants augmenteront dans l'ordre.

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-17 17:48:14

    test du paquet ;

    import java.io.UnsupportedEncodingException;
    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.Random;
    classe publique RandomChinese {

    public static void main(String args[]) {
        HashSet<String> set = new HashSet<String>();
        for (int i = 0; i < 100; i++) {
            String chineseName = getRandomJianHan(3);
            if (!set.contains(chineseName)) {
                set.add(chineseName);
            }
        }
        Iterator<String> iterator = set.iterator();
        while (iterator.hasNext()) {
            System.err.print(iterator.next() + "\n");
        }
    }
    public static String getRandomJianHan(int len) {
        String ret = "";
        for (int i = 0; i < len; i++) {
            String str = null;
            int hightPos, lowPos; // 定义高低位
            Random random = new Random();
            hightPos = (176 + Math.abs(random.nextInt(39))); // 获取高位值
            lowPos = (161 + Math.abs(random.nextInt(93))); // 获取低位值
            byte[] b = new byte[2];
            b[0] = (new Integer(hightPos).byteValue());
            b[1] = (new Integer(lowPos).byteValue());
            try {
                str = new String(b, "GBK"); // 转成中文
            } catch (UnsupportedEncodingException ex) {
                ex.printStackTrace();
            }
            ret += str;
        }
        return ret;
    }

    }

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:48:14

    /**
         * 生成交易号
         */
        public function generatePaymentId()
        {
            $i = rand(0, 9999);
            do {
                if (9999 == $i) {
                    $i = 0;
                }
                $i++;
                $id = time() . str_pad($i, 4, '0', STR_PAD_LEFT);
                $row = (new Query())->from(self::tableName())->where(['id' => $id])->exists();
            } while ($row);
            return $id;
        }

    Je ne commenterai pas le code ci-dessus

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-17 17:48:14

    Option 1, trouver un endroit et récupérer une bibliothèque de surnoms
    Option 2, trouver une bibliothèque de vocabulaire chinois, artificiellement grande ou petite, combiner aléatoirement les deux mots

    répondre
    0
  • Annulerrépondre