Ребят подскажите, что не так делаю? Код написал специально с комментариями, чтобы объяснить, что конкретно я делал и зачем:) Судя по инфе, что я нагуглил в условиях for длина массива почему-то должна быть минус 1 или минус 2, но не очень понимаю почему. Теоритически понимаю, что надо сделать так как зазубрил http://liveflowcharts.ru/sites/default/files/f/charts/BubbleSort/chart.html но на практике почему-то все не так)
package com.javarush.task.task06.task0622;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Comparator;
/*
Числа по возрастанию
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(reader.readLine());
int b = Integer.parseInt(reader.readLine());
int c = Integer.parseInt(reader.readLine());
int d = Integer.parseInt(reader.readLine());
int e = Integer.parseInt(reader.readLine());
int [] arr = {a, b, c, d, e};
sort(arr);
System.out.println(arr);
}
public static void sort(int[] arr) {
for (int i = 0; i < arr.length; i++) { // до тех пора пока не кончатся элементы массива
for (int i1 : arr ) { // выполняем последовательно с каждым элементом массива
if (arr[i1] > arr[i1 + 1]) { // если "левый" элемент больше "правого", то меняем их местами
int a = arr[i1];
arr[i1] = arr[i1 + 1];
arr[i1 + 1] = a;
}
}
}
}
}