Прошу помощи знающих.
Почему данная конструкция не работает для отрицательных значений:
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int [] arrayNumer = new int[5];
for (int i =0; i < 5; i++){
int number = Integer.parseInt(reader.readLine());
arrayNumer [i] = number;
}
for (int i = 0; i < 4;i++ ){
if (arrayNumer[i] > arrayNumer[i+1]){
int w = arrayNumer[i];
arrayNumer[i] = arrayNumer[i + 1];
arrayNumer[i+1] = w;
i = 0;
}
}
for (int i = 0; i < 5; i++){
System.out.println(arrayNumer[i]);
}
}
}
Что бы работало нужно исправить на:
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int [] arrayNumer = new int[5];
for (int i =0; i < 5; i++){
int number = Integer.parseInt(reader.readLine());
arrayNumer [i] = number;
}
for (int i = 0; i < 4; ){
if (arrayNumer[i] > arrayNumer[i+1]){
int w = arrayNumer[i];
arrayNumer[i] = arrayNumer[i + 1];
arrayNumer[i+1] = w;
i = 0;
}else {i++;}
}
for (int i = 0; i < 5; i++){
System.out.println(arrayNumer[i]);
}
}
}