Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- public class Tasks {
- private static ArrayList<String> stringToWords (String str){
- /*
- Весь этот метод можно записать вот так(почти):
- String gavno[] = needSort.split(" ");
- System.out.println(Arrays.toString(gavno));
- */
- char tmp[] = str.toCharArray();//Разбиваем слова на буквы
- ArrayList<String> words = new ArrayList<>();
- StringBuilder word = new StringBuilder();
- for (int i = 0; i < tmp.length; i++) {
- char c = tmp[i];
- if (i + 1< tmp.length){
- if (c == ' ' || c == ',' ){//Ждем когда нам попадётся пробел или запятая
- if (word.length() > 0) {//На случай если будет 2 запятых или пробела подряд
- words.add(word.toString());//Добавляем получившееся слово в конечный массив
- word.setLength(0);//сбрасываем строку
- }
- }else{
- word.append(c);//Собираем слово по буквам
- }
- }else{
- if (word.length() > 0) {//Если массив кончился проверяем есть ли последнее слово и добавляем его
- words.add(word.toString());
- word.setLength(0);
- }
- }
- }
- return words;
- }
- private static ArrayList<String> calcWords(ArrayList words){//эта хуйня считает слова
- ArrayList<String> result = new ArrayList<>();
- for (int i = 0; i < words.size(); i++) {
- int cnt = 0;//это счётчик
- for (int j = 0; j < words.size(); j++) {
- if (words.get(i).toString().toLowerCase().equals(words.get(j).toString().toLowerCase())){//это сравнение двух строк
- cnt++;
- }
- }
- result.add(words.get(i).toString() + " " + cnt);//это запись результата
- }
- //Убираем повторения
- for (int i = 0; i < result.size(); i++) {
- for (int j = 0; j < result.size(); j++) {
- if (i != j){
- if (result.get(i).toLowerCase().equals(result.get(j).toLowerCase())){
- result.remove(j);
- }
- }
- }
- }
- return result;//вроде ничего сложного, да?
- }
- public static void main(String[] args) {
- String needSort = "Ленин всегда живой, ленин всегда со мной.";
- System.out.println(calcWords(stringToWords(needSort)));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment