I get the message I get to many lines.
I saw already answers saying you read the byte instead of the number itself. Probably thats my fault but I dont know how to solve it and if this is really my Problem.
package com.codegym.task.task13.task1326;
/*
Sorting even numbers from a file
*/
import java.util.*;
import java.io.*;
public class Solution {
public static void main(String[] args) {
//write your code here
Scanner sca = new Scanner(System.in);
ArrayList<Integer> nums = new ArrayList<Integer>();
try
{
String fileName = sca.nextLine();
FileInputStream inStream = new FileInputStream(fileName);
while(inStream.available()>0)
{
String num = ""+inStream.read();
nums.add(Integer.parseInt(num));
}
int[] numsA = sortNums(nums);
for(int i=0;i<numsA.length;i++)
{
System.out.println(numsA[i]);
}
inStream.close();
}catch(Exception e){System.out.println(true);}
}
public static int[] sortNums(ArrayList<Integer> nums)
{
ArrayList<Integer> numsE = new ArrayList<Integer>();
int idx=0;
int temp=0;
for(int num : nums)
{
if(num%2==0)numsE.add(num);
}
int[] numsA = new int[numsE.size()];
for(int num : numsE)
{numsA[idx]=num;idx++;}
for(int x=0;x<numsA.length;x++)
{
for(int y=0;y<numsA.length;y++)
{
if(numsA[x]>numsA[y])
{temp=numsA[x];numsA[x]=numsA[y];numsA[y]=temp;}
}
}
return numsA;
}
}