Я создаю простую программу, которая получает 2 определенных строки на входе от JTextArea. Он должен найти нецелую строку, затем найдет целое число. Все значения, совпадающие с одной и той же не целой строкой, будут добавлять и отображать результат в JTextField. Как и в примере, приведенном ниже, все числа, которые спички «ах» будут добавлены вместе, и конечный результат будет отображаться в texfield под маркой «AX Box» (25 + 5 = 30)Java - Поиск определенной строки в JTextArea
Мой следующий код:
JTextField ax, bx, cx, dx;
int totalAX, totalBX, totalCX, totalDX;
String[] lines = textArea.getText().split("\\n"); // split lines
System.out.println(Arrays.toString(lines)); // convert each line to string
for (int i = 0; i < lines.length; i++) {
if (lines.contains("ax") {
// add each numbers.
// for example, 25 + 5
totalAX = totalAX + i;
ax.setText("Total: " +totalAX);
}
}
Моя проблема заключается в том, что программа не может найти подстроку «топор», «ВХ» и так далее. Какой лучший подход в этом? Я получаю ошибки, такие как:
Исключение в потоке «АВТ-EventQueue-0» java.lang.NumberFormatException: Для ввода строки: «Топор»
Этот код не должен компилироваться из-за этой строки 'lines.contains (" ax ")'. Переменная 'lines' является массивом, она не имеет метода' contains'. – ahoxha
Вы также неправильно вычисляете 'totalAX'. То, как вы это делаете, будет считать только количество строк, содержащих строку '' ax ''(если вы написали' lines [i] .contains ("ax") 'вместо' lines.contains (" топор ")'. – ahoxha