это может быть хорошим использованием для рекурсии, например,
public void addChar(char type) {
int row = (int)(Math.random() * battleField.length); // choose rand spot
int col = (int)(Math.random() * battleField.length);
if (battleField[row][col] == '-') { // if chosen space is free
battleField[row][col] = type; // add it
} else {
addChar(type) // try again if space was occupied
}
}
, поэтому могут возникнуть некоторые проблемы ... например, возможность переполнения стека, если плата уже заполнена ... но если метод предназначен только для добавления двух Ts и одного S, все будет в порядке
, чтобы вы могли просто добавить их как
addChar('T');
addChar('T');
addChar('S');
, и ни одно из выбранных мест не будет дубликаты