【发布时间】:2023-03-25 12:55:01
【问题描述】:
在我的 Java 程序中,我有一个字符串数组,每个字符串数组包含 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 个值,并将结果保存在一个普通的字符串数组中(我们称之为结果)。现在我想检查结果中的值 0 是否包含在与值 1 相同的数组中,这意味着如果值 0 是“U”并且值 1 是“U”,它应该重新滚动随机化器的值 1,忽略数组值 0 在最后。最后我想要一个字符串数组,其中没有字符串与其下一个在同一个数组中。
【问题讨论】:
-
您的
{"x", "x", "x2"}形式的数组all 是否仅适用于每个数组的x的不同值?我不得不说我发现你的问题很难理解...... -
我还是迷路了。你有一个字符串数组。您将从这个二维数组中随机选择 25 个值。然后,您将遍历 25 个值的数组,并将索引 i 处的值与 (i+1) 进行比较。如果它们不同,您想通过从二维数组中选取来重新滚动吗?
-
@coffeeaddict 假设 results[i] = "R" 和 results[i + 1] = "R2"。它们都在同一个数组中。我不希望同一个数组中的两个值在结果数组中直接紧随其后,因此我想重新滚动结果 [i + 1] 的随机化器,以便它给出来自不同数组的值。
-
这是一个魔方移动生成器,如果序列中的一个移动是转右面 (R),那么您不希望下一个移动将其转为相反的方式(R')或一直围绕(R2)。我认为最好的方法是跟踪最后一个来自哪个数组,并避免再次从中选择另一个数组,而不是事后检测问题并重新滚动。
-
@DavidConrad 是的,没错! :D