Подтвердить что ты не робот

Печатать массив без скобок и запятых

Я ранее писал игру Hangman для своего класса java в школе. Сейчас я переношу его на Android и встречаю несколько проблем. Исходная java-программа написала все выходы на консоль. Теперь мне нужно как-то оповестить вывод так, чтобы он соответствовал макету, который я разработал.

Как напечатать массив без скобок и запятых? Массив содержит косые черты и заменяется по очереди, когда правильная буква угадывается.

Я использую обычную функцию .toString() класса ArrayList, и мой вывод форматируется следующим образом: [a, n, d, r, o, i, d]. Я хочу, чтобы он просто распечатывал массив как одну строку.

Эти проблемы кажутся настолько простыми, хотя я не смог найти решение для этого. Не используя функцию поиска.

Я заполняю массив, используя этот бит кода:

for(int i = 0;i<secretWordLength;i++){
        hiddenArray.add(secretWord.substring(i,i+1));
        publicArray.add("-");
    }

И я печатаю его так:

final TextView currentWordView = (TextView) findViewById(R.id.CurrentWord);
    currentWordView.setText(publicArray.toString());

Любая помощь будет оценена

4b9b3361

Ответ 1

В принципе, не используйте ArrayList.toString() - создайте строку для себя. Например:

StringBuilder builder = new StringBuilder();
for (String value : publicArray) {
    builder.append(value);
}
String text = builder.toString();

(Лично я бы не назвал переменную publicArray, когда она не является фактически массивом, кстати.)

Ответ 2

Замените скобки и запятые пустым пространством.

String formattedString = myArrayList.toString()
    .replace(",", "")  //remove the commas
    .replace("[", "")  //remove the right bracket
    .replace("]", "")  //remove the left bracket
    .trim();           //remove trailing spaces from partially initialized arrays

Ответ 3

Вы можете использовать метод join из класса

Ответ 4

первый

StringUtils.join(array, "");

второй

Arrays.asList(arr).toString().substring(1).replaceFirst("]", "").replace(", ", "")

ИЗМЕНИТЬ

вероятно, лучший: Arrays.toString(arr)

Ответ 5

наиболее простым решением для удаления скобок является

1. преобразовать arraylist в строку с помощью метода .toString().

2.use String.substring(1, strLen-1). (где strLen - длина строки после преобразования из arraylist).

3.Hurraaah..строчная строка - это ваша строка с удаленными скобками.

надеюсь, что это полезно...: -)

Ответ 8

Просто инициализируйте объект String с помощью массива

String s=new String(array);