Тестировал, работает, но валидатор не хочет принимать. В чем может быть проблема?
package com.javarush.task.task18.task1828;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/*
Прайсы 2
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String fileName = bufferedReader.readLine();
bufferedReader.close();
if (args[0] == null) {
} else {
switch (args[0]) {
case "-u": {
String id = args[1];
String productName = args[2];
if (productName.length() > 30) {
productName = productName.substring(0, 30);
}
double price = Double.parseDouble(args[3]);
int quantity = Integer.parseInt(args[4]);
List<String> list = new ArrayList<>();
BufferedReader br = new BufferedReader(new FileReader(fileName));
while (br.ready()) {
list.add(br.readLine());
}
br.close();
for (String s : list) {
if (id.equals(s.substring(0, 8).trim())) {
int updateId = Integer.parseInt(id);
String updateString = String.format("%-8d%-30.30s%-8.2f%-4d",
updateId, productName, price, quantity);
list.set(updateId - 1, updateString);
break;
}
}
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(fileName));
for (String s : list) {
bufferedWriter.write(s + System.lineSeparator());
}
bufferedWriter.close();
break;
}
case "-d": {
String id = args[1];
List<String> list = new ArrayList<>();
BufferedReader br = new BufferedReader(new FileReader(fileName));
while (br.ready()) {
list.add(br.readLine());
}
br.close();
for (String s : list) {
if (id.equals(s.substring(0, 8).trim())) {
int updateId = Integer.parseInt(id);
list.remove(updateId - 1);
break;
}
}
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(fileName));
for (String s : list) {
bufferedWriter.write(s + System.lineSeparator());
}
bufferedWriter.close();
break;
}
}
}
}
}