![](/img/trans.png)
[英]Random generator for two dimensional array, Incriminating string letters for simple game
[英]saving random letters of an array as a String
我想編寫一個程序,其中字符串數組的不同字母根據隨機順序形成不同的單詞。 最重要的部分是字母不應該在一個單詞中重復。 我可以以某種方式做出正確的模式,但是問題是我只能在控制台上顯示它們,而找不到找到將它們另存為String的方法(例如“ OMAN”)。 這是我的代碼:
int size = 4;
ArrayList<Integer> list = new ArrayList<Integer>(size);
Random rnd = new Random();
while (list.size()<size) {
int random = rnd.nextInt(size);
if (!list.contains(random)) {
list.add(random);
}
}
String[] words = {"M","O","A","N"};
for(int i=0 ; i<size ; i++){
System.out.println(words[list.get(i)]);
}
您可以將它們累積到StringBuilder
:
StringBuilder sb = new StringBuilder(size);
for(int i = 0 ; i < size ; i++) {
sb.append(words[list.get(i)]);
}
String result = sb.toString();
首先聲明一個空字符串
String answer = "";
然后在您的for循環中執行
answer+=words[list.get(i)];
當您離開for循環時
System.out.println(answer);
將擁有您想要的。 為了更有效地做到這一點,我將閱讀StringBuilder。
你可以做這樣的事情,
int size = 4;
ArrayList<Integer> list = new ArrayList<Integer>(size);
Random rnd = new Random();
while (list.size() < size) {
int random = rnd.nextInt(size);
if (!list.contains(random)) {
list.add(random);
}
}
String[] words = {"M", "O", "A", "N"};
String finalWord = "";
for (int i = 0; i < size; i++) {
finalWord += words[list.get(i)];
}
System.out.println(finalWord);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.