gpt4 book ai didi

java - 如何在没有任何重复/重复字符串的情况下随机化数组?

转载 作者:行者123 更新时间:2023-12-02 02:53:23 25 4
gpt4 key购买 nike

我可以随机化我为 Android 中每个按钮设置的字符串,但相同字母有重复。如何做到没有重复的字母?

    Random random = new Random();
String[] letters = {"G","O","K","U","H","A","N","L","Z","M"};

c1r1 = (Button) findViewById(R.id.btn1);
c2r1 = (Button) findViewById(R.id.btn2);
c3r1 = (Button) findViewById(R.id.btn3);
c4r1 = (Button) findViewById(R.id.btn4);
c5r1 = (Button) findViewById(R.id.btn5);
c1r2 = (Button) findViewById(R.id.btn6);
c2r2 = (Button) findViewById(R.id.btn7);
c3r2 = (Button) findViewById(R.id.btn8);
c4r2 = (Button) findViewById(R.id.btn9);
c5r2 = (Button) findViewById(R.id.btn10);
first = (Button) findViewById(R.id.first);
second = (Button) findViewById(R.id.second);
third = (Button) findViewById(R.id.third);
fourth = (Button) findViewById(R.id.fourth);

c1r1.setText("" + letters[random.nextInt(letters.length)]);
c2r1.setText("" + letters[random.nextInt(letters.length)]);
c3r1.setText("" + letters[random.nextInt(letters.length)]);
c4r1.setText("" + letters[random.nextInt(letters.length)]);
c5r1.setText("" + letters[random.nextInt(letters.length)]);
c1r2.setText("" + letters[random.nextInt(letters.length)]);
c2r2.setText("" + letters[random.nextInt(letters.length)]);
c3r2.setText("" + letters[random.nextInt(letters.length)]);
c4r2.setText("" + letters[random.nextInt(letters.length)]);
c5r2.setText("" + letters[random.nextInt(letters.length)]);

最佳答案

private String[] letters = {"G","O","K","U","H","A","N","L","Z","M"};
private List<String> list = new ArrayList<String>(Arrays.asList(letters ));

private String getUniqueRandomString() {
int i = ThreadLocalRandom.current().nextInt(0, letters.size() + 1);
String s = letters.get(i);
letters.remove(i);
return s;
}
private void init() {

c1r1 = (Button) findViewById(R.id.btn1);
c2r1 = (Button) findViewById(R.id.btn2);
c3r1 = (Button) findViewById(R.id.btn3);
c4r1 = (Button) findViewById(R.id.btn4);
c5r1 = (Button) findViewById(R.id.btn5);
c1r2 = (Button) findViewById(R.id.btn6);
c2r2 = (Button) findViewById(R.id.btn7);
c3r2 = (Button) findViewById(R.id.btn8);
c4r2 = (Button) findViewById(R.id.btn9);
c5r2 = (Button) findViewById(R.id.btn10);
first = (Button) findViewById(R.id.first);
second = (Button) findViewById(R.id.second);
third = (Button) findViewById(R.id.third);
fourth = (Button) findViewById(R.id.fourth);

c1r1.setText(getUniqueRandomString());
c2r1.setText(getUniqueRandomString());

// ...

}

关于java - 如何在没有任何重复/重复字符串的情况下随机化数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43454131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com