在我的Java程序中,我有一个String数组,每个String数组包含3个值。
String[][] actions =
{
new String[]{"R", "R'", "R2"},
new String[]{"L", "L'", "L2"},
new String[]{"D", "D'", "D2"},
new String[]{"U", "U'", "U2"},
new String[]{"F", "F'", "F2"},
new String[]{"B", "B'", "B2"}
};
现在我让随机数发生器随机选取这些数组中的25个值,并将结果保存在普通的String数组中(让我们称之为结果)。现在我想检查结果中的值0是否包含在与值1相同的数组中,这意味着如果值0是“U”而值1是“U”,则它应该将随机化器重新滚动为值1,忽略该数组值为0。最后,我想要一个字符串数组,其中没有String与下一个字符串在同一个数组中。
答案 0 :(得分:0)
根据您的评论,您可能正在寻找类似的内容?
public void mainMethod() {
...
for(int i=0; i<(results.length-1); i++) {
compare(results, i);
}
}
private void compare(String[] results, int index) {
// compare if both values are in the same array
if(getRowIndex(results[index]) == getRowIndex(results[index+1])) {
reRoll(results, (index+1)); // reroll if so
compare(results, index); // revalidate in case it re-rolls to the same array value
}
}
private void reRoll(String[] results, int index) {
//TODO
}
private void getRowIndex(...) {
//TODO
}
最后两种方法取决于您希望如何实现它。有很多方法......