Я собираюсь перефразировать вашу проблему в качестве разъяснения, пожалуйста, исправьте меня, если я неправильно понимаю.
У вас есть текстовое поле и текстовая область. Вы хотите, чтобы пользователь ввел слово в текстовое поле и отправил его. Если это слово начинается с цифры или пунктуации, то укажите пользователю ошибку. В противном случае добавьте его в текстовую область (в новой строке) и внутренний ArrayList.
Чтобы решить эту проблему, вам понадобится пара вещей:
- An
ArrayList<String>
это переменная члена класса, в которой вы можете хранить свои слова - Обработчик события, который обрабатывает нажатие кнопки.
Обработчик события должен:
- Разбор строки из текстового поля (используя
getText()
, как вы уже сделали). - Выполните проверки ошибок, которые вы уже делаете.
- Если ни одно из условий ошибкиударил (поэтому добавьте для этого предложение
else
), добавьте слово в текстовую область (что вы уже делаете) и добавьте его в ArrayList.
Надеюсь, это поможет вам получитьболее четкое представление о том, как подойти к проблеме. Если нет, пожалуйста, опубликуйте пример кода того, что вы пытались и с какой ошибкой вы конкретно столкнулись.
РЕДАКТИРОВАТЬ: Вот некоторый псевдокод для вашего блока кода обработки ошибок if-else, при условии, что вы объявляетеновый ArrayList
для хранения слов в классе:
// as class member variable
List<String> wordList = new ArrayList<>();
// word handler code
if (str starts with a number) {
// handle error
} else if (str starts with punctuation) {
// handle error
} else {
ta.append(str + "\n");
wordList.add(str);
}