#массивы #строки #java
Подскажите, пожалуйста. Нужно написать программу, которая разбивает входящую строку на слова по пробелам и сохраняет слова в массиве. Как это сделать с помощью полного перебора строки методом charAt?
Ответы
Ответ 1
Как это сделать перебором — а зачем, если есть готовый метод String::split, который разбивает? String[] s = yourString.split(" "); Или это учебное задание и нужно именно используя метод charAt? Но если это учебное задание для особых преподавателей, тогда где то так: import java.util.*; import java.lang.*; class Main { public static String[] divide(String s) { ArrayListtmp = new ArrayList (); int i = 0; boolean f = false; for (int j = 0; j < s.length(); j++) { if (s.charAt(j) == ' ') { if (j > i) { tmp.add(s.substring(i, j)); } i = j + 1; } } if (i < s.length()) { tmp.add(s.substring(i)); } return tmp.toArray(new String[tmp.size()]); } public static void main (String[] args) { String s = " 1 aaa 2 bbbbbb 3 cccc 4 5 6 7 x"; String[] r = divide(s); for (int i = 0; i < r.length; i++) System.out.println('"' + r[i] + '"'); } } Правда я использую ArrayList , что бы не заморачиваться с массивом. Но и это можно обойти, если нужно.
Комментариев нет:
Отправить комментарий