Друзья, коллеги, почему в коде ниже "+1" будет лишним?
Я прочитал объяснения в похожих топиках, но я на столько дуб, что все равно не понимаю.
Единственно что я нащупал так это то, что когда я указываю начальный элемент как "0" - это считается указанием индекса элемента, а когда я указываю "array.length" то это означает указание номера элемента массива. Между этими понятиями есть разница в одну единицу. Для номера элемента нужно вычесть единицу, чтобы трансформировать его в индекс массива. Скорректируйте, меня пожалуйста, если не верно понял тему.
if(array.length % 2 == 0)
{
Arrays.fill(array, 0, array.length/2, valueStart);
Arrays.fill(array, (array.length/2)+1, array.length, valueEnd);
}
На код в онлайн-компиляторе ниже просьба не обращать внимание
.
package com.javarush.task.pro.task05.task0516;
import java.util.Arrays;
/*
Заполняем массив
*/
public class Solution {
public static int[] array = new int[20];
public static int valueStart = 10;
public static int valueEnd = 13;
public static void main(String[] args) {
int firstPart = array.length % 2 == 0 ? array.length / 2 : array.length / 2 + 1;
Arrays.fill(array, 0, firstPart, valueStart);
Arrays.fill(array, firstPart, array.length, valueEnd);
System.out.println(Arrays.toString(array));
}
}