Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 02.10.2018
Сообщений: 5

Ограничение последнего слова

02.10.2018, 20:53. Показов 666. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени. Есть такая небезизвестная задача "В тексте найти все пары слов, из которых одно является об¬ращением другого."
С ней только одна проблема, ответ на которую не нашел (не хватает еще девственного, неопытного мозга)
После всех пар по условию ставится ";". видно на скрине. Каким образом можно последнюю пару ограничить не ";", а обычной "."
(В данном случае после пары "так и кат")
Миниатюры
Ограничение последнего слова  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.10.2018, 20:53
Ответы с готовыми решениями:

Найти и сохранить в строке те слова, которые отличны от последнего слова и удовлетворяют следующему свойству
Дана строка. Словом текста считается любая последовательность букв латинского алфавита; между соседними словами - не менее одного...

Вывести те слова, которые отличаются от последнего слова и удовлетворяют условию, что в слове нет повторяющихся букв
1)Вывести те слова, которые отличаются от последнего слова и удовлетворяют условию, что в слове нет повторяющихся букв. помогите плиз =)

Метод проверки первого и последнего символа слова
Здравствуйте. Начала писать игру "Города", и у меня возникла проблема. Не могу написать метод который бы проверял последнюю букву...

11
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
02.10.2018, 21:01
Brs55, код где?
0
0 / 0 / 0
Регистрация: 02.10.2018
Сообщений: 5
02.10.2018, 21:03  [ТС]
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Str 
{
    private final String[] words;                       
    public Str(String string) {                 
        words = string.split(" ");      
    }
    public void findAndPrint() {
        System.out.println("Обращенные пары слов : ");
        for (int i = 0; i < words.length; i++) {    
            for (int j = i + 1; j < words.length; j++) {
                String reverseWord = new StringBuilder(words[j]).reverse().toString(); 
                if (words[i].equals(reverseWord)) {
                    System.out.println(words[i] + " и " + words[j] + " ;");
                }
            }
        }
    }
}
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
02.10.2018, 21:10
Brs55, один из вариантов
Java
1
2
3
4
5
6
7
8
9
10
11
        System.out.println("Обращенные пары слов : ");
        StringBuilder result = new StringBuilder();
        for (int i = 0; i < words.length; i++) {
            for (int j = i + 1; j < words.length; j++) {
                String reverseWord = new StringBuilder(words[j]).reverse().toString();
                if (words[i].equals(reverseWord)) {
                    result.append(words[i]).append(" и ").append(words[j]).append(" ;");
                }
            }
        }
        result.setCharAt(result.length()-1, '.');
0
0 / 0 / 0
Регистрация: 02.10.2018
Сообщений: 5
02.10.2018, 21:18  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Brs55, один из вариантов
Либо я где-то напился, либо на самом деле пары слов он перестал искать, теперь в любом случае

Введите обрабатываемые слова(текст):
привет тевирп кот ток рак кар
Обращенные пары слов :
СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 10 секунды)
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
02.10.2018, 21:21
Brs55, или если сразу выводить:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    public void findAndPrint() {
        System.out.println("Обращенные пары слов : ");
        int count = 0;
        for (int i = 0; i < words.length; i++) {
            for (int j = i + 1; j < words.length; j++) {
                String reverseWord = new StringBuilder(words[j]).reverse().toString();
                if (words[i].equals(reverseWord)) {
                    if (count > 0) {
                        System.out.println(";");
                    }
                    System.out.print(words[i] + " и " + words[j]);
                    count++;
                }
            }
        }
        if (count > 0) {
            System.out.println(".");
        }
    }
Добавлено через 1 минуту
Цитата Сообщение от Brs55 Посмотреть сообщение
он перестал искать
А System.out.println(result.toString()); делали?
1
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,780
02.10.2018, 21:25
Цитата Сообщение от Brs55 Посмотреть сообщение
Есть такая небезизвестная задача "В тексте найти все пары слов, из которых одно является об¬ращением другого."
Это безызвестная задача. А слова «об¬ращение» нет даже в словаре Даля.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
02.10.2018, 21:27
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void main(String[] args) {
        String[]words = "привет тевирп кот ток рак кар".split(" ");
        System.out.println("Обращенные пары слов : ");
        StringBuilder result = new StringBuilder();
        for (int i = 0; i < words.length; i++) {
            for (int j = i + 1; j < words.length; j++) {
                String reverseWord = new StringBuilder(words[j]).reverse().toString();
                if (words[i].equals(reverseWord)) {
                    result.append(words[i]).append(" и ").append(words[j]).append(" ;\n");
                }
            }
        }
        result.setCharAt(result.length()-2, '.');
        System.out.println(result);
    }
Bash
1
2
3
4
Обращенные пары слов : 
привет и тевирп ;
кот и ток ;
рак и кар .
1
0 / 0 / 0
Регистрация: 02.10.2018
Сообщений: 5
02.10.2018, 21:28  [ТС]
Цитата Сообщение от JIeIIIa Посмотреть сообщение
А System.out.println(result.toString()); делали?
нет)
Куда уж мне на первых-то шагах такое замечать..?
Хотя стоило бы) С дополнением не получилось, а вот ваш код встал прям как родной, спасибо.

И все же относительно первого варианта, просто чтобы разобраться можете пояснить?
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
02.10.2018, 21:30
Цитата Сообщение от Brs55 Посмотреть сообщение
относительно первого варианта, просто чтобы разобраться можете пояснить?
Все просто. Результат "собирался" в StringBuilder, но никуда не выводился. Надо или последней строкой в консоль выводить или возвращать строку из метода.
0
0 / 0 / 0
Регистрация: 02.10.2018
Сообщений: 5
02.10.2018, 21:44  [ТС]
Относительно понял, по ходу дальше должен буду разобраться. Спасибо всем за ответы

Добавлено через 9 минут
Цитата Сообщение от korvin_ Посмотреть сообщение
Это безызвестная задача. А слова «об¬ращение» нет даже в словаре Даля.
Искал варианты решения, встречался с такими же запросами.
Относительно слова уж извините, не посмотрел, когда из задания копировал
0
 Аватар для Aviz__
2756 / 2063 / 509
Регистрация: 17.02.2014
Сообщений: 9,492
03.10.2018, 10:23
без StringBuilder))
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private static boolean isEqualWordAndRevwrsWord(String word1, String word2) {
        if (word1.length() != word2.length())
            return false;
        if (word1.length() == 1)
            return word1.equals(word2);
        for (int i = 0; i < word1.length() / 2; i++) {
            if (word1.charAt(i) != word2.charAt(word2.length() - i - 1))
                return false;
        }
        return true;
    }
 
    public static void main(String[] args) {
        String [] textWords = "12345 qwe 54321 3 87 32 3 78".split(" ");
        for (int i = 0; i < textWords.length; i++) {
            for (int j = i + 1; j < textWords.length; j++) {
                if (isEqualWordAndRevwrsWord(textWords[i], textWords[j]))
                    System.out.printf("%s <=> %s%n", textWords[i], textWords[j]);
            }
        }
    }
результат работы:
12345 <=> 54321
3 <=> 3
87 <=> 78
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.10.2018, 10:23
Помогаю со студенческими работами здесь

Напечатать все слова, отличные от последнего слова, предварительно удалив из каждого слова последнюю букву
1) Программа. Дан текстиз строчных русских букв, закоторым следует точка. Напечатать этот текст заглавными русскими буквами. 2)...

Напечатать все слова отличные от последнего слова, предварительно перенести последнюю букву в начало слова
Дано текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв, между соседними словами - не менее одного пробела....

В исходной строке а$ определить все слова, отличные от последнего слова. Вывести эти слова в столбик
Помогите решить: В исходной строке а$ определить все слова, отличные от последнего слова. Вывести эти слова в столбик. Отблагодарю.

Напечатать слова, которые отличны от последнего слова текста, предварительно удалив из слова последнюю букву
Дана последовательность содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 строчных латинских букв; между соседними словами не менее...

Напечатать все слова, отличные от последнего слова, предварительно перенеся первую букву в конец слова
Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв; между соседними словами - не менее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru