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

Сопоставить каждый элемент массива и суммировать их java

26.01.2017, 20:45. Показов 5417. Ответов 4

Студворк — интернет-сервис помощи студентам
Здравствуйте. Есть 2 массива, наполненных рандом-числами. Нужно 1-й элемент одного массива сравнить с 1-ым элементом второго массива, 2-ой элемент одного - со вторым эл. другого, и так все 10. Если элементы равны, нужно вывести сумму каждой пары и общую их сумму. Прописать каждый элемент вручную, конечно, можно, но это такие рельсы. Подскажите, через какой цикл и как лучше такое реализовать. Пока объявил так:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static void main(String[] args) {
 
    int mass1[]=new int[10];
    int mass2[]=new int[10];
    int sum=0;
 
    for (int i=0; i<mass1.length; i++) {
        mass1[i] = (int) (Math.random()*10);
        System.out.println(mass1[i]);
    }
    System.out.println("\n");
 
    for (int j=0; j<mass2.length; j++) {
        mass2[j] = (int) (Math.random()*10);
        System.out.println(mass2[j]);
        }
    }
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.01.2017, 20:45
Ответы с готовыми решениями:

Найти средний по величине элемент в множестве элементов массива, в которое входит каждый третий элемент массива
Есть массив из 100 рандомных элементов Нужно найти средний по величине элемент в множестве элементов массива, в которую входит каждый...

Каждый с каждым. Как правильно сопоставить?
Есть два списка csv: ТЕКСТЫ - ССЫЛКИ В каждом три колонки Последняя колонка - встречается и в том и в другом (город) ...

Разделить каждый элемент массива на максимальный по модулю элемент массива
1. Разделить каждый элемент массива целых чисел, в котором не все элементы равны нулю, на самый по модулю элемент этого массива. очень...

4
88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099
26.01.2017, 20:54
Цитата Сообщение от Nikolaswong Посмотреть сообщение
Нужно 1-й элемент одного массива сравнить с 1-ым элементом второго массива, 2-ой элемент одного - со вторым эл. другого, и так все 10. Если элементы равны, нужно вывести сумму каждой пары и общую их сумму.
Java
1
2
3
4
5
6
7
8
9
10
        if(Arrays.equals(mass1, mass2)) {
            int sum = 0;
            for(int i = 0; i < mass1.length; i++) {
                int sumOfPair = mass1[i] + mass2[i];
                sum += sumOfPair;
                System.out.printf("mass1[%1$d] + mass2[%1$d] = %2$d\n", i, sumOfPair);
            }
 
            System.out.println("Overall sum: " + sum);
        }
1
1 / 1 / 2
Регистрация: 05.01.2014
Сообщений: 25
30.01.2017, 01:59
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public static void main(String[] args)  {
 
            int mass1[]=new int[10];
            int mass2[]=new int[10];
            int sum=0;
 
            for (int i=0; i<mass1.length; i++) {
                mass1[i] = (int) (Math.random() * 10);
                System.out.println(i+" элемент массивa:"+mass1[i]);
            }
 
            for (int j=0; j<mass2.length; j++) {
                mass2[j] = (int) (Math.random()*10);
                System.out.println(j+" элемент массивa:"+mass2[j]);
            }
            for(int i=0;i<mass1.length;i++){
                if(mass1[i]==mass2[i]){
                    int summ=mass1[i]+mass2[i];
                    System.out.println("Сумма "+i+" элемента массивов:"+summ);
                }
            }
        }
1
0 / 0 / 0
Регистрация: 26.01.2017
Сообщений: 5
30.01.2017, 14:38  [ТС]
Спасибо. Я сделал немного иначе. Поочередные суммы элементов я вывел в отдельный массив и уже из него вывел общие суммы. Проблема в том, что они также выводятся массивом. Не знаю как исправить, чтобы выводилась только общая сумма.

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
31
32
33
34
35
36
37
38
39
40
41
42
43
 int mass1[] = new int[10];
        int mass2[] = new int[10];
        int mass3[] = new int[10];
        int S=0;
 
        for (int i = 0; i < mass1.length; i++) {
 
            mass1[i] = (int) (4+Math.random() * 5);
            System.out.println(mass1[i]);
        }
 
        System.out.println("\n");
 
        for (int j = 0; j < mass2.length; j++) {
 
            mass2[j] = (int) (4+Math.random() * 5);
            System.out.println(mass2[j]);
 
        }
 
        System.out.println("\n");
 
        for (int n = 0; n < mass3.length; n++) {
 
                if (mass1[n] == mass2[n]) {
                    mass3[n] = mass1[n] + mass2[n];
                    System.out.println(mass3[n]);
 
                }
                else{
                    mass3[n] = 0;
                    System.out.println("совпадений нет");
                }
 
        }
 
        System.out.println("\n");
 
       for (int n = 0; n < mass3.length; n++) {
 
            S = S + mass3[n];
            System.out.println(S);
        }
Добавлено через 1 час 52 минуты
Все, прошу прощения: занес вывод в цикл и не заметил
Если кому-то будет интересно, просто вынесите последний sout из цикла:

Java
1
2
3
4
for (int n = 0; n < mass3.length; n++) {
            S = S + mass3[n];
        }
System.out.println(S);
0
 Аватар для vvm28
771 / 539 / 67
Регистрация: 22.12.2013
Сообщений: 2,498
Записей в блоге: 26
30.01.2017, 22:16
Цитата Сообщение от Nikolaswong Посмотреть сообщение
Не знаю как исправить, чтобы выводилась только общая сумма.
Вы перебираете в цикле элементы массива по одному. Каждый элемент массива: mass3[n] представляет из себя целое число. И вы складываете эти элементы на каждом проходе цикла в переменную , например в целую переменную S,
как показал Nikolaswong, проходы по циклу выполняются пока счетчик n меньше длинны массива mass3.
На каждом проходе счетчик увеличивается на единицу : n++

Добавлено через 9 минут
Тут немного поправлю сам себя. Вернее будет сказать "Каждый элемент массива: mass3[n] содержит в себе целое число.
Как будто в пронумерованных ящиках массива содержатся какие-то числа. В данном случае тип int.
Нумерация начинается с 0, поэтому в начале создается переменная - счетчик и в неё заносится 0 : int n=0;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.01.2017, 22:16
Помогаю со студенческими работами здесь

Каждый четный элемент массива умножить на минимальный элемент, а нечетный на максимальный
В одномерном массиве, состоящем из n целых элементов, каждый четный элемент умножить на минимальный элемент массива, а нечетный – на...

Каждый четвертый элемент массива возвести в квадрат, если элемент отрицательный
Дан одномерный массив размерностью 16, заполненный целыми числами, введенными с клавиатуры. Каждый четвертый элемент массива возвести в...

В двух массивах заменить каждый четный элемент на первый элемент массива
В двух массивах А(30) и В(11) заменить каждый четный элемент на первый элемент массива. Вывести содержимое начальных и получившихся...

Заменить каждый элемент массива с чётным номером на соседний слева элемент
Заменить каждый элемент массива с чётным номером на соседний слева элемент

Каждый четвертый элемент массива возвести в квадрат, если элемент отрицательный
1-е и 2-е задания оформите, пожалуйста, в отдельной теме, не нарушая правила форума. 3.*Дан одномерный массив размерностью 16,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
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 https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru