Size: a a a

2020 June 23

AB

Alexey Bodyak in learn.java
ну первым шагом найди сначала самое длинное и самое короткое слово
источник

AB

Alexey Bodyak in learn.java
запомни их индексы
источник

AB

Alexey Bodyak in learn.java
затем просто собери новую строку с уже замененными словами
источник

AB

Alexey Bodyak in learn.java
изи же :)
источник

MK

Malevich Kazimir in learn.java
Alexey Bodyak
запомни их индексы
только индексы начала ?
источник

AB

Alexey Bodyak in learn.java
всм?
источник

AB

Alexey Bodyak in learn.java
когда ты разобьешь свой текст на слова - ты получишь массив, индекс каждого слова - это позиция слова в предложении
источник

MK

Malevich Kazimir in learn.java
Alexey Bodyak
когда ты разобьешь свой текст на слова - ты получишь массив, индекс каждого слова - это позиция слова в предложении
а сплит можно по индексам ?
источник

AB

Alexey Bodyak in learn.java
эм, что?)
источник

GV

Gukov Viktor in learn.java
Malevich Kazimir
это просто ужас
        String test = "This, is aaa Tessst";
       
       String[] data = test.split("[\\W]+");
       String maxWord = Arrays.stream(data).max(Comparator.comparingInt(String::length)).orElseThrow();
       String minWord = Arrays.stream(data).min(Comparator.comparingInt(String::length)).orElseThrow();
       
       Matcher minMatcher = Pattern.compile("\\b" + minWord).matcher(test);
       minMatcher.find();
       int indexOfMin = minMatcher.start();

       Matcher maxMatcher = Pattern.compile("\\b" + maxWord).matcher(test);
       maxMatcher.find();
       int indexOfMax = maxMatcher.start();

       String stringBuilder = test.substring(0, indexOfMin) +
               maxWord +
               test.substring(indexOfMin + minWord.length(), indexOfMax) +
               minWord + test.substring(indexOfMax + maxWord.length());
       System.out.println(stringBuilder);

Держи самый грубый вариант. Граничные кейсы не рассматривал
источник

AB

Alexey Bodyak in learn.java
"Привет как дела".split(" ") вернет тебе ["Привет", "как", "дела"]
источник

MK

Malevich Kazimir in learn.java
Alexey Bodyak
эм, что?)
слушай , я за java вот совсем не шарю. Писал на Qt приложнеия на С++ , а универ обязал выучить
источник

MK

Malevich Kazimir in learn.java
я совсем не понимаю методы
источник

AB

Alexey Bodyak in learn.java
дык тут не в жаве дело :)
источник

MK

Malevich Kazimir in learn.java
Gukov Viktor
        String test = "This, is aaa Tessst";
       
       String[] data = test.split("[\\W]+");
       String maxWord = Arrays.stream(data).max(Comparator.comparingInt(String::length)).orElseThrow();
       String minWord = Arrays.stream(data).min(Comparator.comparingInt(String::length)).orElseThrow();
       
       Matcher minMatcher = Pattern.compile("\\b" + minWord).matcher(test);
       minMatcher.find();
       int indexOfMin = minMatcher.start();

       Matcher maxMatcher = Pattern.compile("\\b" + maxWord).matcher(test);
       maxMatcher.find();
       int indexOfMax = maxMatcher.start();

       String stringBuilder = test.substring(0, indexOfMin) +
               maxWord +
               test.substring(indexOfMin + minWord.length(), indexOfMax) +
               minWord + test.substring(indexOfMax + maxWord.length());
       System.out.println(stringBuilder);

Держи самый грубый вариант. Граничные кейсы не рассматривал
спасибо тебе огромное
источник

MK

Malevich Kazimir in learn.java
Alexey Bodyak
дык тут не в жаве дело :)
конкретные методы , свойственные только этому языку
источник

MK

Malevich Kazimir in learn.java
документация не объяснил
источник

AB

Alexey Bodyak in learn.java
ты же даже алгоритм придумать не смог, я так понял
источник

MK

Malevich Kazimir in learn.java
Alexey Bodyak
ты же даже алгоритм придумать не смог, я так понял
смог , но он получился слишком огромный
источник

MK

Malevich Kazimir in learn.java
с кучей переменных
источник