public void moveClosedBrackets(){
closedBrackets.clear();
text = "";
for (int count = 0; count < inputArray.size(); count++){
text = inputArray.get(count);
StringBuilder newText = new StringBuilder(text);
//System.out.println(newText.length());
for(int count2 = 0; count2 < newText.length(); count2++){
if(newText.charAt(count2) == '}'){
newText = newText.deleteCharAt(count2);
System.out.println(count2);
inputArray.set(count, newText.toString());
//inputArray.add(count = count +1, "}");
closedBrackets.add(count);
}
}
}
}
每次它只返回最后一个字母g,而不是数组中的随机字母。
我做错了什么?
答案 0 :(得分:3)
(quotes.length)
什么是quotes
?你想要letters
。
您正在执行var letter = letter
,但letter
尚未定义。此外,从阵列中选择随机元素时,请使用Math.floor
代替Math.round
:
const letters = ["a", "b", "c", "d", "e", "f", "g", "h"];
const letter = letters[Math.floor(Math.random()*letters.length)];
console.log(letter);
&#13;
答案 1 :(得分:0)
可能需要修复代码中的一些拼写错误:
var letters = ["a", "b", "c", "d", "e", "f", "g", "h"]
var letter = letters[Math.round(Math.random()*(letters.length))]
此外,您可能不想使用Math.round
,因为它可能导致越界数组访问错误。您应该尝试使用Math.floor
。
答案 2 :(得分:-2)
修正拼写错误,你应该没问题
var letter = letters[Math.round(Math.random()*(letters.length))]