0 / 0 / 0
Регистрация: 16.10.2018
Сообщений: 11
1

Не могу понять почему не работает

24.10.2019, 00:45. Показов 282. Ответов 3
Метки java (Все метки)

Суть задания проста. Написать программу, которая сравнивает элементы второго массива с первым и если они равны выводит.
Пример
Ввод:
Hey hello 2 4
10 hey 4 hello
Вывод:
4 hello
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
30
public class Main
{
    public static void main(String[] args)
    {
        Scanner scanner = new Scanner(System.in);
        String values = "5";
        String[] items1 = values.split(" ");
        String[] str1 = new String[items1.length];
        for (int i = 0; i < items1.length; i++)
        {
            str1[i] = scanner.nextLine();
        }
        String[] items2 = values.split(" ");
        String[] str2 = new String[items2.length];
        for (int i = 0; i < items2.length; i++)
        {
            str2[i] = scanner.nextLine();
        }
        for (int i = 0; i < items2.length; i++)
        {
            for (int j = i; j < items1.length; j++)
            {
                if (str2[i].equals(str1[j]))
                {
                    System.out.print(str2[i] + " ");
                }
            }
        }
    }
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2019, 00:45
Ответы с готовыми решениями:

Не могу понять почему не работает (или правильно не работает)
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #define N 5 #define M 3 void main() { int a; ...

Не могу понять почему не работает
Суть програмы в тому чтобы украинский текст транслитерировать английскими буквами. Пользователь...

не могу понять почему не работает
Пожалуйста ,помоги,найти ошибку... услвие задачи Подсчитать количество вхождений букв и слов в...

Не могу понять почему не работает
#include &quot;stdio.h&quot; #include &quot;math.h&quot; #include &quot;conio.h&quot; #define E 1e-6 int main() { ...

3
6740 / 4538 / 1840
Регистрация: 07.05.2019
Сообщений: 13,725
Записей в блоге: 1
24.10.2019, 09:06 2
Цитата Сообщение от жыжыжжыжы Посмотреть сообщение
Суть задания проста. Написать программу, которая сравнивает элементы второго массива с первым и если они равны выводит.
Цитата Сообщение от жыжыжжыжы Посмотреть сообщение
for (int j = i; j < items1.length; j++)
Здесь надо с нуля начинать, а не с i - for (int j = 0; j < items1.length.............
0
6 / 7 / 2
Регистрация: 22.05.2019
Сообщений: 40
24.10.2019, 09:27 3
Вот в этом отрезке кода:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
for (int i = 0; i < items2.length; i++)
        {
            for (int j = i; j < items1.length; j++)
            {
                if (str2[i].equals(str1[j]))
                {
                    System.out.print(str2[i] + " ");
                }
            }
        }

Как и сказали выше у тебя j = i. На первой итерации цикла for (int i = 0; i < items2.length; i++) это прекрасно работает, но когда уже идет вторая итерация, то i = 1, соответственно j = 1, поэтому он пропускает 1 ячейку str1. Получается что кол-во пропущенных ячеек str1 = кол-ву итераций цикла с i.

И да, это раздел языка C++, поэтому публикуй в следующий раз в разделе Java.
0
0 / 0 / 0
Регистрация: 16.10.2018
Сообщений: 11
24.10.2019, 10:33  [ТС] 4
Этот момент я пропустил, спасибо. Но программа все равно не выводит ответ. Может вы знаете как ввести этот массив при помощи java.util.Arrays или с помощью чейн методов? Потому что я думаю, что ошибка заключается в том как я ввожу массив
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2019, 10:33

Не могу понять почему не работает
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; const int arrSize = 15; int main()...

Не могу понять почему не работает
#include &lt;iostream&gt; using namespace std; int main() { double a; double b; cout&lt;&lt;&quot;vvedite...

Не могу понять почему не работает strtok
int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); char str, *chek, tru, fal, *pch,...

Не могу понять почему не работает программа
int f,x,a,b,c; cin&gt;&gt;x; if (x&gt;0) {f=pow(-x,4); cout&lt;&lt;f;} else {f=x+92; cout&lt;&lt;f;} if...


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

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

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