如何检查Array中的值是否包含在与下一个数组相同的数组中

时间:2014-08-29 20:32:41

标签: java arrays string

在我的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与下一个字符串在同一个数组中。

1 个答案:

答案 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
}

最后两种方法取决于您希望如何实现它。有很多方法......