Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 06.09.2018
Сообщений: 12
1

Задача на нахождение палиндромов

06.09.2018, 15:41. Просмотров 1080. Ответов 6
Метки нет (Все метки)

Подскажите пожалуйста,есть у меня кусок кода
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Laba1 {
 
    public static void main(String[] args) {
      String s = "Казак!";
    s = s.replaceAll("[^A-Za-zА-Яа-я0-9]", "");
    if (s.toLowerCase().equals((new StringBuilder(s)).reverse().toString().toLowerCase()))
      
        System.out.println("Палиндром! " + s); 
    
    else
        System.out.println("Не палиндром! :( " + s);
}
}
Он выводит сообщение на одно слово палиндром он или нет, но моя задача найти в ТЕКСТЕ все слова палиндромы и удалить их, бьюсь уже неделю ничего не могу сделать . Пример: Казак ехал на охоту. Результат: ехал на охоту.
Помогите пожалуйста, мозг уже кипит
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.09.2018, 15:41
Ответы с готовыми решениями:

Задача про нахождение палиндромов
Помогите! нужно найти все числа-палиндромы, которые не превышают 100. заранее - спасибо.

Нахождение палиндромов
Помогите решить данную задачу: __________________________________ Назовем натуральное число...

Нахождение палиндромов строки и запись в файл
Вот как говорится человек практик, теории в голове ноль. это задача по нахождению палиндромов и...

Задача на нахождение С0
указать хотя бы одно С0, для которого правильно следующее утверждение: если IZnI>C0, то IZnI...

6
Автоматизируй это!
Эксперт Python
3476 / 2317 / 734
Регистрация: 30.03.2015
Сообщений: 7,904
Записей в блоге: 5
06.09.2018, 15:47 2
выносишь определение палиндрома в отдельный метод (возвращает булин, выводить ничего не надо)
строку разбиваешь на слова и закидываешь с лист
пробеагешь по листу и удаляешь все палиндромы
оставшиеся слова выводишь
1
0 / 0 / 0
Регистрация: 06.09.2018
Сообщений: 12
06.09.2018, 15:50  [ТС] 3
Можете показать программно? Так уже пробовали, видимо руки для новичка не из того места
0
2824 / 2417 / 744
Регистрация: 05.07.2013
Сообщений: 11,739
06.09.2018, 15:57 4
Java
1
2
3
4
5
6
7
8
public static void main(String... args) {
  String s = "...";
  List<String> wordsWithoutPalindromes = Arrays.stream(s.split("\\W+")).filter(word -> !isPalindrome(word)).collect(toList());
}
 
public boolean isPalindrome(String stringtoTest) {
   return ....
}
0
Автоматизируй это!
Эксперт Python
3476 / 2317 / 734
Регистрация: 30.03.2015
Сообщений: 7,904
Записей в блоге: 5
06.09.2018, 16:05 5
Лучший ответ Сообщение было отмечено Vella997 как решение

Решение

Vella997, только я по быстрому писал, учти...кроме того союз "и" в строке тоже будет палиндромом, если попадется
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public static  boolean isPalindrome(String text){
        text = text.replaceAll("[^A-Za-zА-Яа-я0-9]", "");
        return  text.toLowerCase().equals((new StringBuilder(text)).reverse().toString().toLowerCase());
    }
 
    public static void main(String[] args) {
        String line="Казак ехал на охоту";
        for (String word: line.split(" ")){
            if (!isPalindrome(word)){
                System.out.print(word+" ");
            }
        }
    }
1
0 / 0 / 0
Регистрация: 06.09.2018
Сообщений: 12
06.09.2018, 16:08  [ТС] 6
Спасибо Вам огромное! Дальше буду дорабатывать сама)
0
1762 / 1384 / 344
Регистрация: 17.02.2014
Сообщений: 7,170
06.09.2018, 18:37 7
ну или так, прям влоб
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
static boolean isPolindrome(String word) {
        for (int i = 0; i < word.length() / 2; i++) {
            if (word.toLowerCase().charAt(i) != word.toLowerCase().charAt(word.length() - 1 - i)) return false;
        }
        return true;
    }
 
    public static void main(String args[]) {
        System.out.println(isPolindrome("1"));
        System.out.println(isPolindrome("12"));
        System.out.println(isPolindrome("121"));
        System.out.println(isPolindrome("12221"));
        System.out.println(isPolindrome("12241"));
    }
результат работы:
true
false
true
true
false
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.09.2018, 18:37

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

Задача на нахождение вероятности
Прошу помощи в решении задачи, нужно хоть примерное направление мысли) 1) Вероятность получения...

Задача: нахождение НОК
Уважаемые питонисты есть задача. Я ее решил, но тестировщик не принимает с ошибкой: lcm =...

Задача на нахождение числа
Здравствуйте, есть задачка которую решить самому мне не посильно: Дано число Х найти число У.......

Задача на нахождение палиндрома
Суть проста: пользователь вводит слово(или же число), а программа определяет, палиндром это или...

Задача на нахождение скорости
Решите задачку пожалуйста.

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.