Ошибка генерирования и вывода букв
Друзья, встал в тупик. в idea все нормально, в AndroidStudio в эмуляторе и на телефоне (кидаю apk) возникает ошибка. 1. Выбираю рандомно слово, бью его на буквы 2. Перемешиваю буквы 3. Буквы выводятся каждая на свою кнопку (и тестово в поле)
На п.3 возникает проблема - появляется пустая буква, призрак. Убрал все лишнее, оставил только саму суть. Не могу понять в чем дело.
public class MainActivity extends AppCompatActivity {
Button start;
TextView text;
String[] OriginalWord; //бавзовое слово
String[] MixedleWord; //смешение
public void RandomGen() {
String[] stringArr = {"сапфир", "ураган", "разбор", "дракон"};
int oneLength = stringArr.length;
int rand1 = (int) (Math.random() * oneLength);
String RandomWord = stringArr[rand1];
this.OriginalWord = RandomWord.split("");//разбив по буквам
String[] Literals = Arrays.copyOf(OriginalWord, OriginalWord.length);
List<String> shuffle = Arrays.asList(Literals);
Collections.shuffle(shuffle);
shuffle.toArray(Literals);
this.MixedleWord = Literals;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
start = (Button) findViewById(R.id.start);
text = (TextView) findViewById(R.id.text);
RandomGen();
text.setText(Arrays.toString(MixedleWord));
}
}
Ответы (1 шт):
Автор решения: Alex_Skvortsov
→ Ссылка
split("")
Возвращает все символы строки, а так же две пустых строки.
Отфильтруйте массив так, чтобы он не содержал пустых строк и все заработает.