Добрый день! Задачу решил, но вот вопрос... Разве такое решение не является тоже верным?
Задача решается одним циклом, но обязательно просит "копировать" массивы...
Подскажите, разве это не правильное решение? (код ниже)
package com.javarush.task.pro.task05.task0504;
/*
Объединяем массивы
*/
public class Solution {
public static int[] firstArray = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
public static int[] secondArray = new int[]{10, 11, 12, 13, 14, 15, 16, 17, 18, 19};
public static int[] resultArray;
public static void main(String[] args) {
resultArray = new int[firstArray.length + secondArray.length];
int i = 0;
while (i < resultArray.length){
resultArray[i] = i;
i++;
}
for (i = 0; i < resultArray.length; i++) {
System.out.print(resultArray[i] + ", ");
}
}
}
Леха Программист
13 уровень
Разве неверно? Задача решается или нет?
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #598481
14 февраля 2023, 13:02
А если у тебя массивы будут заполнены чем-то другим? Надо именно копировать элементы
0
Леха Программист
14 февраля 2023, 13:33
Слово "если" сомнительное в данной задаче, поскольку я знаю наверняка как заполнен массив. Даже в продуктивном коде если мы точно знаем что находится в массиве, не придется костыли писать. При этом хочу езе уточнить. Сам по себе учился писать код с javascript. В js есть метод Push, который позволяет "запушить" массив элементами в конец массива, либо наоборот, метод unshift, который позволяет добавлять элементы в начало массива. Так вот в сравнении с js в java работа с массивами какая-то усложненная что-ли, либо я чего-то не понимаю? Подскажите, мб я рано паникую, или же в java действительно только "усложненные" варианты такого метода?
0
hidden #598481
14 февраля 2023, 13:40
В отличие от js массивы в java не динамические, поэтому они громоздкие и редко используются для работы с теми коллекциями, которые могут изменять размер.
В целом да, код не такой гибкий, как в JS, поэтому работать с ними не очень удобно.
Даже учитывая, что здесь твои массивы заданы изначально, ты не можешь написать такой алгоритм, словно их и нет. Что тебе мешало в этом случае вообще не обращаться к first и second и вместо этого не создать массив сразу длиной 20, ведь ты же знаешь, сколько в них элементов.
Только смысл задачи именно в том, чтобы именно перенести элементы поштучно из одного массива в другой, опираясь именно на их фактический размер и фактические значения.
Если говорить о "знаю, что там", то если на то пошло, твои массивы публичные, а значит могут быть изменены другим классом извне без твоего участия и знания об этом. А твой метод main должен уметь объединять массивы несмотря на это.
+1
Леха Программист
14 февраля 2023, 14:22
Благодарю за развернутый ответ!
0