Если входные данные:
1 2 3 4 5
Ожидаемый результат:
5 4 3 2 1
Фактический результат
Программа печатает неверные значения или иногда повторяет элементы.
Что я могу сделать? пробовал
Я использовал цикл для перебора массива с конца, но думаю, что моя логика неверна.
Код: Выделить всё
import java.util.Scanner;
public class ReverseArray {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter number of elements: ");
int n = sc.nextInt();
int arr[] = new int[n];
System.out.println("Enter elements:");
for(int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
// Reversing array
for(int i = 0; i < n; i++) {
System.out.print(arr[n - i] + " ");
}
}
}
Я получаю исключение ArrayIndexOutOfBoundsException.
Код: Выделить всё
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5
at ReverseArray.main(ReverseArray.java:17)
Что не так с моей логикой обращения массива? Как я могу исправить эту ошибку?