Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
648 / 313 / 34
Регистрация: 31.05.2019
Сообщений: 2,364

Конструктор копирования массива

02.03.2020, 17:58. Показов 3004. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую, .

Нужно мне реализовать конструктор копирования массива

Java
1
2
3
4
5
6
7
8
9
10
11
public class Array {
public int[] arr;
public int arrayLength;
    public Array(int[] otherArray) {
        arrayLength = otherArray.length;
        arr = new int[arrayLength];
        for (int i = 0 ; i < otherArray.length; i++)
            arr[i] = otherArray[i];
    }
 
}
Вот что у меня получилось, но чето чувствую - какая-то ерунда в итоге.
Есть у кого какие мысли?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.03.2020, 17:58
Ответы с готовыми решениями:

Конструктор копирования для массива
Уважаемые, помогите! Я уже замучилась с вопросом, как правильно написать конструктор копирования и деструктор для динамического массива....

Не могу сделать чтобы класс содержал основной конструктор и конструктор копирования
Разработать класс ThreeAngle для работы с плоскими треугольниками. В качестве членов-данных задаются длины трех сторон треугольника. Класс...

Конструктор класса, конструктор копирования запускается не тот который нужен
Есть такой конструктор: Neuron::Neuron(int iType_activation_funk) { this-&gt;iType_act = iType_activation_funk; switch...

16
485 / 411 / 126
Регистрация: 23.05.2016
Сообщений: 1,653
02.03.2020, 18:12
https://docs.oracle.com/javase... %5B%5D,int)
это?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
02.03.2020, 18:24
System.arraycopy()
1
648 / 313 / 34
Регистрация: 31.05.2019
Сообщений: 2,364
02.03.2020, 18:27  [ТС]
Sindbad_M,
Цитата Сообщение от iSmokeJC Посмотреть сообщение
System.arraycopy()
Мне бы вручную --- arraycopy() это же более уникальный способ - а у меня тут массив целых чисел
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
02.03.2020, 18:31
Цитата Сообщение от Sneykas Посмотреть сообщение
более уникальный
Это какой? В чём уникальность?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
02.03.2020, 18:32
Цитата Сообщение от Sneykas Посмотреть сообщение
а у меня тут массив целых чисел
И что?
Цитата Сообщение от Sneykas Посмотреть сообщение
Мне бы вручную
Так у тебя уже реализовано. Разве что поле arrayLength выкинуть и класс переименовать

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Kukstyler Посмотреть сообщение
В чём уникальность?
Ну, он один такой...


1
648 / 313 / 34
Регистрация: 31.05.2019
Сообщений: 2,364
02.03.2020, 18:33  [ТС]
Цитата Сообщение от Kukstyler Посмотреть сообщение
Это как?
Ну вроде работает со всеми типами данными (может ошибаюсь) - а у меня тут целочисленный массив - я только колхоз какой-то смог придумать.
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
02.03.2020, 18:35

Не по теме:

iSmokeJC, я об этом не подумал...




Добавлено через 1 минуту
Sneykas, я понять не могу: если
Цитата Сообщение от Sneykas Посмотреть сообщение
работает со всеми типами данными
Разве
Цитата Сообщение от Sneykas Посмотреть сообщение
целочисленный массив
в них не входит?
1
648 / 313 / 34
Регистрация: 31.05.2019
Сообщений: 2,364
02.03.2020, 18:39  [ТС]
Kukstyler,
Ладно --- чувствую, что бред какой-то пишу.
Остановимся на том, что мой колхоз сгодится для конструктора копирования

И,кстати --- если через arraycopy, то как-то так?

Java
1
2
3
4
5
        public Array(int[] otherArray) {
             arrayLength = otherArray.length;
             arr = new int[arrayLength];
             System.arraycopy(otherArray, 0, arr, 0);
        }
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
02.03.2020, 18:44
Лучший ответ Сообщение было отмечено Sneykas как решение

Решение

Java
1
System.arraycopy(otherArray, 0, arr, 0, arr.length);
1
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
02.03.2020, 18:44

Не по теме:

Цитата Сообщение от Sneykas Посмотреть сообщение
чувствую, что бред какой-то пишу
все иногда подобнo грешим


1
648 / 313 / 34
Регистрация: 31.05.2019
Сообщений: 2,364
02.03.2020, 18:45  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
System.arraycopy(otherArray, 0, arr, 0, arr.length);
Значения перезаписываются (если так есть какие-то значения на индексах ) ?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
02.03.2020, 18:45
Sneykas, Теперь домашнее задание - проверка соответствия длин массивов
0
648 / 313 / 34
Регистрация: 31.05.2019
Сообщений: 2,364
02.03.2020, 18:47  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Теперь домашнее задание - проверка соответствия длин массивов
Поделись инфой
Java итак для меня сложен
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
02.03.2020, 18:49

Не по теме:

iSmokeJC, садист!


1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
02.03.2020, 19:02
Цитата Сообщение от Sneykas Посмотреть сообщение
Поделись инфой
Какой инфой???
Сравниваешь длины
if (arr.length > otherArray.length){... делаем то-то, else { ... делаем сё-то

Добавлено через 1 минуту
А вот что делать - решать тебе. Или дополнять нулями, если не хватает. Или обрезать под размер, если перебор. Или вообще нихрена не делать и сообщать об ошибке...

Добавлено через 4 минуты
Sneykas, напрягся? Расслабься!
Это же конструктор, соответственно массив arr инициализируется в нем (и длина соотв. тоже задается), поэтому проверка не нужна.
1
485 / 411 / 126
Регистрация: 23.05.2016
Сообщений: 1,653
02.03.2020, 20:38
Цитата Сообщение от Sneykas Посмотреть сообщение
Мне бы вручную
Обратите внимание, arraycopy и copyOf реализованы нативно, т.е. для каждой Ява-машины написаны и оптимизированны непосредственно в кодах соответствующего процессора. Благодаря этому работают не быстро, а очень быстро. Реализовать операции с блоками массивов непосредственно на Яве можно разве как учебный пример, работать это будет на пару порядков медленнее.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.03.2020, 20:38
Помогаю со студенческими работами здесь

Не могу правильно сделать конструктор и конструктор копирования и принадлежность точки с заданными координатами треугольнику
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; #include &lt;math.h&gt; #include &lt;algorithm&gt; using...

Конструктор инициализации, конструктор копирования, деструктор
Я сделал почти задание по перегрузке операторов. Осталось одно, тоесть три: конструктор инициализации, конструктор копирования, деструктор....

Создать класс "Вектор" и реализовать конструктор по умолчанию, конструктор копирования и деструктор
Всем доброго времени суток! нужна ваша помощь! нужно создать класс вектор и реализовать конструктор по умолчанию, копирования и...

Конструктор копирования
Почему экземпляры класса копируются без конструктора копий ? и к тому же получили разные адреса ? =====array2.h.cpp======= …….. ...

Конструктор копирования
#include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;cstdlib&gt; #define SIZE 30 using namespace std; class Spivak { char...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru