Мои тесты проходит на ура, валидатор ругается. В чем может быть проблема?
package com.javarush.task.task18.task1828;
/*
Прайсы 2
*/
import java.io.*;
import java.util.ArrayList;
public class Solution {
public static ArrayList<String> fileData = new ArrayList<>();
public static String [] data;
public static void main(String[] args) throws Exception{
data =args;
if(data.length==0) return;
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
reader.close();
reader = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
String string=reader.readLine();
while (string!=null) {
fileData.add(string);
string = reader.readLine();
}
if(data[0].equals("-u")) updateFile();
else if(data[0].equals("-d")) deleteString();
else return;
reader.close();
BufferedWriter writer = new BufferedWriter(new FileWriter(fileName));
for (String st : fileData){
writer.write(st);
writer.newLine();
}
writer.close();
/*BufferedWriter writer = new BufferedWriter(new FileWriter(fileName ));
writer.write("");
writer=new BufferedWriter(new FileWriter(fileName , true));
for(int i=0; i<fileData.size(); i++){
writer.write(fileData.get(i));
writer.newLine();
}*/
}
public static void deleteString() {
for(int i=0; i<fileData.size(); i++){
String str =fileData.get(i).substring(0, fileData.get(i).indexOf(" "));
if(Integer.parseInt(str)== Integer.parseInt(data[1])){
fileData.remove(i);
break;
}
}
}
public static void updateFile(){
for(int i=0; i<fileData.size(); i++){
String str =fileData.get(i).substring(0, fileData.get(i).indexOf(" "));
if(Integer.parseInt(str)== Integer.parseInt(data[1])){
fileData.set(i, (space(data[1],8)+space(data[2], 30)+space(data[3],8)+space(data[4],4)) );
break;
}
}
}
public static String space(String str, int N){
String strSpaced =str;
for(int i=0; i<(N-str.length());i++)
strSpaced+=" ";
return strSpaced;
}
}