Доброго времени суток. Чего то уперся в решение данной задачи. вроде все практически работает, за исключением вывода массива в обратном порядке если N четное число.
even[b] = even.length -b; - работает но только при выводе в обратном порядке самих ячеек. Не могу додуматься как сделать так, чтобы в обратном порядке выводились их значения. Подтолкните пожалуйста в правильном направлении.
В итоге решил задачу, исправив последний цикл на такой :
for (int b = even.length -1; b >= 0; b--) - Эту строчку нагуглил, но почему int b = even.length -1 так и не понял. Почему -1?
{
even[b] = even[b];
System.out.println(even[b]);
}
Данный вариант кода писал, но не додумался , что нужно прописать -1. И до сих пор не могу понять. Кому несложно разъясните пожалуйста.
package com.javarush.task.pro.task05.task0505;
import java.util.Scanner;
/*
Reverse
*/
public class Solution {
public static int[] odd;
public static int[] even;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
if (N % 2 != 0)
{
odd = new int[N];
for (int a = 0; a < odd.length; a++) {
odd[a] = sc.nextInt();}
for (int b = 0; b < odd.length; b++) {
odd[b] = odd[b];
System.out.println(odd[b]);}
}
else if (N % 2 == 0)
{
even = new int[N];
for (int a = 0; a < even.length; a++) {
even[a] = sc.nextInt();
}
for (int b = 0; b < even.length; b++) {
even[b] = even.length -b;
System.out.println(even[b]);}
}
}
}