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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何生成沒有重復(fù)號碼的 4 位 PIN 碼

如何生成沒有重復(fù)號碼的 4 位 PIN 碼

眼眸繁星 2023-07-13 14:35:03
我是 android 編程新手,我想制作一個沒有任何重復(fù)的 4 位 PIN 碼生成器。我該怎么做??我還不知道如何很好地循環(huán)。謝謝你?。∥乙呀?jīng)嘗試過隨機,但它給了我重復(fù)的數(shù)字。int randomPIN = (int)(Math.random()*9000)+1000;String pin = String.valueOf(randomPIN);dummy.setText(pin);我正在尋找 1354, 4682, 3645 的結(jié)果,但結(jié)果大多是 3344, 6577, 1988
查看完整描述

4 回答

?
牧羊人nacy

TA貢獻1862條經(jīng)驗 獲得超7個贊

創(chuàng)建一個數(shù)字列表,對其進行打亂,然后返回前四位數(shù)字。這是作為靜態(tài)方法執(zhí)行此操作的一種方法:


/* No need for a new list each time */

private static final List<Integer> digits =

    new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4, 5, 6, 7, 8, 9));


/**

 * Returns a PIN string that contains four distinct digits.

 */

public static String nextPin() {

    Collections.shuffle(digits);

    final StringBuilder sb = new StringBuilder(4);

    for (Integer digit : digits.subList(0, 4)) {

        sb.append(digit);

    }

    return sb.toString();

}

顯然,如果您希望數(shù)字作為數(shù)字?jǐn)?shù)組而不是字符串,那么您處理子列表的方式將與我在此處顯示的方式不同。


如果您只返回子列表本身,請注意,每次您返回子列表時,它都會發(fā)生變化


查看完整回答
反對 回復(fù) 2023-07-13
?
料青山看我應(yīng)如是

TA貢獻1772條經(jīng)驗 獲得超8個贊

有點學(xué)術(shù)性的練習(xí) - 這是一個需要 Java 8 的練習(xí):


    // flag to control if you want number sequence to be the same each run

    boolean repeatable = true;


    // seed for randomness - for permutation of list (not the integers)

    Random rnd = new Random((repeatable ? 3 : System.currentTimeMillis()));


    // generate randomized sequence as a List

    List<Integer> myNums;

    Collections.shuffle((myNums = IntStream.rangeClosed(1000, 9999).boxed().collect(Collectors.toList())), rnd);


    // Work with list...

    for (Integer somePin : myNums) {

        Log.i("", "Next PIN: "+somePin);

    }


查看完整回答
反對 回復(fù) 2023-07-13
?
慕慕森

TA貢獻1856條經(jīng)驗 獲得超17個贊

//創(chuàng)建列表ArrayList numbers = new ArrayList(); 隨機 randomGenerator=new Random();while (numbers.size() < 4) {int random = randomGenerator .nextInt(4); if (!numbers.contains(random)) {numbers.add(random);}}



查看完整回答
反對 回復(fù) 2023-07-13
?
素胚勾勒不出你

TA貢獻1827條經(jīng)驗 獲得超9個贊

您必須一步一步添加隨機整數(shù)并檢查是否有重復(fù)項。


Random random = new Random();

int rdmInt = random.nextInt(9);

String pin = "";

while (pin.length() < 4) {

    rdmInt = random.nextInt(9);

    String addition = String.valueOf(rdmInt);

    if (pin.contains(addition)) continue;

    pin += addition;

}


查看完整回答
反對 回復(fù) 2023-07-13
  • 4 回答
  • 0 關(guān)注
  • 249 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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