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

Как сравнить одну букву из массива со всеми буквами другого массива?

04.05.2022, 09:06. Показов 1944. Ответов 6
Метки нет (Все метки)

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

Возникла проблема, у меня проверка работает так: если допустим нулевая буква в проверяемом слове равняется нулевой букве в слове, с которым я сравниваю (в данном случае в последнем в строке), то я записываю это слово. То есть получается, что сравниваются буквы только с соответствующим индексом. Мне нужно сделать так, чтобы 1 буква в проверяемом слове сравнивалась со всеми символами моего последнего слова (в коде это strToArray)

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
28
29
public String result() {
        
        String result1 = search(); //принимаю в строку последнее слово
        String result2 = ""; //строка под всё, кроме последнего слова
        
        String itog = ""; //итоговая строка
        
        for(int i = 0; i < index - 1; i++) {
                result2 += arr[i]; //забиваю в строку всё, кроме последнего слова
            }
        String[] words = result2.split("\\s"); //разбиваю по словам строку
        
        char[] strToArray = result1.toCharArray(); //разбиваю на символы строку с последним словом
        char[] strToArray2 = result2.toCharArray(); // разбиваю на символы строку с содержимым до последнего слова
        
        for(int i = 0; i < words.length; i++) { // прохожу по каждому слову
            char[] word = words[i].toCharArray(); //создаю массив под каждое i-ое слово
            for(int j = 0; j < word.length; j++) { //прохожу по длине этого слова
                if(word[j] == strToArray[j]) { //если буква в проверяемом слове совпадает с буквой в последнем слове, то это слово записывается
                    for(int z = 0; z < word.length; z++) {
                        itog += word[z];
                    }
                }
            }
        }
        
        
        return itog;
    }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.05.2022, 09:06
Ответы с готовыми решениями:

Сравнить элемент одного массива со всеми элементами другого массива
Есть массив с разрешеными символами (английский алфавит) И есть массив со всеми введёнными пользователем символами...

как сравнить в if со всеми членами массива
Доброго всем времени суток. Есть некий массив со словами. Нужно выяснить, есть ли хотя бы одно из них в некой строке. с одним словом я...

Сравнить каждый элемент первого массива со всеми элементами второго массива
Нужно создать цикл, в котором каждый элемент первого массива сравнивается со всеми элементами второго массива

6
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
04.05.2022, 09:35
Вроде очевидно, что нужно добавить цикл для второго слова
1
0 / 0 / 0
Регистрация: 18.09.2021
Сообщений: 46
04.05.2022, 09:38  [ТС]
Я понимаю, что нужен цикл, но не пойму, как его задать. Как он должен работать. Можете навести на правильную мысль?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
04.05.2022, 09:44
Он должен перебирать буквы второго слова
1
2283 / 1599 / 400
Регистрация: 26.06.2017
Сообщений: 4,739
Записей в блоге: 1
04.05.2022, 10:20
Мож так?
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
28
29
import java.util.Scanner;
 
public class Main
{
    public static void main(String[] args) {
        Scanner inp = new Scanner(System.in);
        System.out.print("Введите строку:");
        System.out.println(result(inp.nextLine()));
    }
    
    public static String result(String inptStr) {
        
        String[] words = inptStr.split("\\s"); //разбиваю по словам строку
        String itog = ""; //итоговая строка
        String lastWord = words[words.length - 1]; //последнее слово
        
        for(int i = 0; i < (words.length - 1); i++) { // прохожу по каждому слову кроме последнего
            for(int j = 0; j < lastWord.length(); j++) { //прохожу по длине последнего слова
                String ch = new String(new char[]{lastWord.charAt(j)}); //получаем charSequence из символа
                if (words[i].contains(ch)) { //если буква встречается в проверяемом слове, то это слово записывается
                    itog += words[i]+" ";
                    break;
                }
            }
        }
 
        return itog;
    }
}
0
0 / 0 / 0
Регистрация: 18.09.2021
Сообщений: 46
04.05.2022, 10:28  [ТС]
Uswer, спасибо, я уже сделал) А вообще, у меня по заданию нужно реализовать полностью вручную всё, без использования встроенных методов работы со строками, то есть нельзя использовать например String ch = new String(new char[]{lastWord.charAt(j)});
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
04.05.2022, 11:43
Цитата Сообщение от Kirill266 Посмотреть сообщение
нельзя использовать например
Да за такое в любом другом задании руки оторвать надо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.05.2022, 11:43
Помогаю со студенческими работами здесь

Как сравнить элемент массива со всеми остальными элементами?
подскажите как сравнить элемент массива со всеми элементами...первый со всеми..второй...и так до n-элемента

Сравнить несколько массивов друг с другом, если значения одного массива больше значений другого массива, то этот массив
У меня есть 5 массивов и мне надо сравнить каждый массив друг с другом. Если все значения первого массива больше всех значений второго...

Массив типа char записать в одну ячейку другого массива
Добрый день, есть массив типа char. В нем в одной ячейке элемент 'a', в другой 'b'. Я создать другой массив тоже типа char и чтобы там был...

Как проверить вхождение ключей одного массива в ключи другого массива?
Есть два массива $arrayWord = , 1=&gt;, 2=&gt;, 3=&gt; ]; $arrayFinishWords = , , ...

Как скопировать одну половину массива (количество элементов массива четноё) в другую?
Допустим, есть массив с чётным количеством элементов. Каким образом я могу скопировать первую половину массива (то есть первые 5 элементов)...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru