Моя проблема заключается в следующем:
char [] letters = {' ', 'a', ' ', 'b', ' ', 'c'};
for(int i = 0; i < letters.length; i ++) {
int random = (int) (Math.random()* letters.length);
char temp = letters[i];
letters [i] = letters [random];
letters [random] = temp;
}
Этот метод перемешивает массив, очень хорошо;однако я хотел бы, чтобы и метод shuffle, и метод Math.random игнорировали пробелы и только индексы случайного числа, имеющие буквенное значение.Для дальнейшего объяснения: я бы хотел, чтобы выходные данные массива букв имели все пробелы с тем же индексом, что и изначально, при этом позволяя заменять только те индексы, которые содержали букву.Таким образом, пример случайного допустимого выхода массива букв после прохождения этого метода будет выглядеть примерно так:
['', 'b', '', 'c', '', 'a ']
или, может быть, даже
[' ',' c ',' ',' a ',' ',' b ']
любая помощь в том, какЯ могу сделать это просто фантастически ... Я попробовал все варианты циклов for, while и if, пытаясь ограничить границы метода Math.random только для индексов, содержащих букву, и для цикла for.Но я ничего не придумала.Это меня победило.Большое спасибо заранее всем, кто мог бы помочь мне и немного объяснить.