package com.javarush.task.task07.task0705;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/*
Один большой массив и два маленьких
*/
public class Solution {
public static void main(String[] args) throws Exception {
int[] array1 = new int[20];
int[] array2 = new int[10];
int[] array3 = new int[10];
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < array1.length; i++) {
array1[i] = Integer.parseInt(reader.readLine());
}
for (int i = 0; i < 10; i++) {
array2[i] = array1[i];
}
for (int i = 10; i < 20; i++) {
System.out.println(array3[i] = array1[i]);
}
}
}Gennady Asatiani
9 уровень
Почему не проходит?
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Vladimir Nasarov
5 ноября 2019, 17:59
1. Не закрыт поток.
2. в третьем цикле ты пытаешься засунуть в позицию array3[10] значение. А у него максимальный адрес array[9] -> ArrayIndexOutOfBoundsException
0
Gennady Asatiani
5 ноября 2019, 18:11
Понял, исправил. Корректен ли такой код или как-то по другому можно его написать?
+1
Vladimir Nasarov
6 ноября 2019, 03:58полезный
Нормальный код, как по мне. Но я бы посоветовал i привязывать к длине массива, как ты сделал в первом цикле, так меньше исправлений в случае чего.
+2