I am having trouble fulfilling the fourth condition, even though everything looks fine when I debug (lines 25 -31). Please help! thanks in advance
package com.codegym.task.task13.task1326;
/*
Sorting even numbers from a file
*/
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) throws IOException {
//write your code here
BufferedReader readerFromConsole = new BufferedReader(new InputStreamReader(System.in));
String fileName = readerFromConsole.readLine(); //get filename
BufferedReader readerFromFile = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
ArrayList<Integer> allNums = new ArrayList<Integer>(); //get numbers
while(readerFromFile.ready()){ //store all numbers
allNums.add(Integer.parseInt(readerFromFile.readLine()));
}
/* ArrayList<Integer> allNums = new ArrayList<>(); //get numbers
int x = Integer.parseInt(readerFromConsole.readLine());
while (x !=0){
allNums.add(x);
x = Integer.parseInt(readerFromConsole.readLine());
} */
//System.out.println("first loop done");
ArrayList<Integer> evenNums = new ArrayList<>();
for (int i: allNums) { //store even numbers
if (i % 2 == 0){
evenNums.add(i);
}
}
Object[] outputNums = (evenNums.toArray());//sort and store even numbers in an array
int z;
for (int i = 1; i < outputNums.length-1; i++) {
for (int j = 1; j < outputNums.length-1; j++) {
if ((Integer) outputNums[j] < (Integer) outputNums[j - 1]) {
z = (Integer) outputNums[j];
outputNums[j] = outputNums[j - 1];
outputNums[j - 1] = z;
}
}
}
for (int i = 0; i < outputNums.length; i++) {
System.out.println(outputNums[i]);
}
readerFromFile.close();
}
}