I'm making a program that arranges an array by moving the largest value to the end but for some reason, the program isn't arranging the values menually. How can I fix that?
public static void main(String args[]) {
ArrayList<Integer> list = new ArrayList<>();
list.add(15);
list.add(78);
list.add(44);
list.add(99);
list.add(32);
int num = 1;
for(int i = 0; i<=list.size() -1;){
if(list.get(i) > list.get(i+1)){
list.add(list.get(i));
list.remove(i);
System.out.println(list);
}
else{
i+=1;
num+=1;
}
}
}
and this what I'm getting:
[15, 44, 99, 32, 78]
[15, 44, 32, 78, 99]
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index 5 out of bounds for length 5
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
at java.base/java.util.Objects.checkIndex(Objects.java:372)
at java.base/java.util.ArrayList.get(ArrayList.java:458)
at MyClass.main(MyClass.java:10)