Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
2 / 2 / 0
Регистрация: 03.05.2017
Сообщений: 163

Сравнить строки на совпадение

14.10.2020, 23:50. Показов 2192. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот задание
Implement method hasNoneLetters. Method returns true if none of the letters in the blacklist are present in the phrase. If at least one letter from blacklist is present in the phrase return false. Comparison should be case insensitive. Meaning 'A' == 'a'.

Вот что у меня получилось придумать но оно не работает, помогите пожалуйста сделать правильно
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class HasNonLetters {
  public static boolean hasNoneLetters(String blacklist, String phrase) {
  String blacklist1 = blacklist.toUpperCase();
   String phrase1 = phrase.toUpperCase();
 
    char[] c1 = blacklist1.toCharArray();
    char[] c2 = phrase1.toCharArray();
 
    for(int i =0; i <  c1.length; i++) {
         for(int j =0; j < c2.length; j++) {
            
             if (c1[i] == c2[j]) {
               return false;
             }
             
          }
           else return true;
     }
  }
}
Заранее спасибо
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.10.2020, 23:50
Ответы с готовыми решениями:

Сравнить два массива на полное совпадение
Написать программу, сравнивающую два массива на их полное совпадение. то есть нужно сравнивать как по сумме чисел и по равенству каждого...

Сравнить каждый элемент с каждым, если есть совпадение, то соединить всю строку, в которой найдено совпадение
Доброго времени суток! Есть два массива строк разного размера (элементы массива разделены запятой). Необходимо сравнить каждый элемент с...

Сравнить ячейки, если есть совпадение
Мне нужно сравнить ячейки а1 и b$1:B$10000, c$1:c$10000 если есть совпадение c a1 то данные из ячейки b и c скопировать. пример : ...

1
6 / 3 / 3
Регистрация: 14.10.2020
Сообщений: 13
15.10.2020, 01:57
Лучший ответ Сообщение было отмечено AAA999 как решение

Решение

Загвоздок в коде не мало.
По факту вот работающий код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Proverka {
    String blacklist;
    String phrase;
    
    Proverka(String blacklist, String phrase){
        this.blacklist = blacklist.toLowerCase();
        this.phrase = phrase.toLowerCase();
    }
    boolean HasNoneLetters(){
        char[] c1 = blacklist.toCharArray();
        char[] c2 = phrase.toCharArray();
        for(int i =0; i <  c1.length; i++){
            for(int j = 0; j < c2.length; j++){
                // это для наглядности, что с чем сравнивается
                System.out.printf("%c %c\n", c1[i], c2[j]);
                if (c1[i] == c2[j]){
                    System.out.println("Proveka ne proydena");
                    return false;
                }
            }
        }
        // циклы были полностью пройдены. Это всё-равно, что совпадений не было найдено
        System.out.println("Proveka proydena");
        return true;
    }
 
}
Основная проблема в алгоритме сравнения: оператор else вызывался при условии, что символы не совпали с друг другом и тогда вызывался оператор return, который завершал работу всего метода и дальнейшее сравнение символов не происходило.

Добавлено через 14 минут
Цитата Сообщение от sladkiystaskoko Посмотреть сообщение
Основная проблема в алгоритме сравнения: оператор else вызывался при условии, что символы не совпали с друг другом и тогда вызывался оператор return, который завершал работу всего метода и дальнейшее сравнение символов не происходило.
А нет, я забыл, что у тебя в коде оператор else был приделан к циклу. Циклы не содержат операторов else, братанчик
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.10.2020, 01:57
Помогаю со студенческими работами здесь

Сравнить "n" количество таблиц на совпадение
Hello ребятки. У меня такого рода задача. Есть много таблиц с IP адресами. Нужно сравнить их между собой и понять какой IP встречается в...

Сравнить строки, первый несовпадающий элемент строки-приемника записать в регистр AL, строки-источника - в DL
Помогите написать программу на ассемблерене совсем еще разобрался с этим задание: Ввести с клавиатуры две строки одноразрядных...

NOTEPAD++ точное совпадение строки
Всем привет. Знающие люди, подскажи плиз, уже нет больше сил моих изучать регулярки в NOTEPAD++ а этот вопрос очень часто возникает. ...

Анализ числовой строки на совпадение последовательностей
Здравствуйте! Прошу помощи, подскажите, каким образом можно реализовать следующее: дано 40-значное число (набор символов где символ может...

Проверка на совпадение элементов строки, столбца
TEST(a, k) принимает значение true, если все элементы k-й строки совпадают с элементами к-го столбца. пока что есть для одного элемента ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
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
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru