Я не знаю, как описать мою проблему, поэтому я просто покажу пример кода:
int[][][] mat;
int n;
int specificValue;
for (int i = 0; i < n; i++) {
if(mat[i][n-i][3] != specificValue) {
doStuff();
}
}
Я ищу целочисленные значения в 3d-массиве. Для каждого поля я должен использовать один из них:
- счетчик, работающий от нуля до n
- счетчик, работающий от n до нуля
- фиксированное значение
Итак, я попытался создать метод, который спас бы меня от написания этого цикла for примерно 20 раз, но я потерпел неудачу, поэтому мне нужна помощь. Моя идея была примерно такой:
search(Loop.UP, Loop.DOWN, Loop.FIXED);
где "Loop" будет перечислением, представляющим одну из моих возможностей, но я не знаю, как реализовать это или если это возможно даже в Java без жесткого кодирования всех возможных комбинаций.
Надеюсь, вы можете помочь:)
ОК, более конкретно ... с моей настройкой я рисую вектор через этот 3d-массив, диагональ, чтобы быть конкретной, и я хочу знать, какие значения есть на этом векторе и только на этот вектор.
И поскольку существует более одной возможности нарисовать такой вектор, я бы хотел иметь более общий метод для получения значений. Мой поиск может быть таким простым, как
search(Loop.UP, Loop.FIXED, Loop.FIXED); // one plane
, который будет простым циклом for с одним счетчиком, но также
search(Loop.DOWN, Loop.UP, Loop.UP); // through all three planes