это уже ни в каие ворота не лезет!(
проверял несколько раз на тестовом файле (прикреплен в конце кода в комментариях)
работает отлично, валидатор не принимает
забронирую место в раю тому, кто подскажет в чем проблема
package com.javarush.task.task18.task1827;
/*
Прайсы
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws Exception {
if (args.length == 0) return;
if (!args[0].equals("-c")) return;
StringBuilder builderProductName = new StringBuilder(args[1]);
for (int i = args[1].length(); i < 30; i++) {
builderProductName.append(" ");
}
String productName = builderProductName.toString();
StringBuilder builderPrice = new StringBuilder(args[2]);
for (int i = args[2].length(); i < 8; i++) {
builderPrice.append(" ");
}
String price = builderPrice.toString();
StringBuilder builderQuantity = new StringBuilder(args[3]);
for (int i = args[3].length(); i < 4; i++) {
builderQuantity.append(" ");
}
String quantity = builderQuantity.toString();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
File file = new File(reader.readLine());
reader.close();
reader = new BufferedReader(new FileReader(file));
BufferedWriter writer = new BufferedWriter(new FileWriter(file, true));
int maxId = 0;
while (reader.ready()) {
String stringId = reader.readLine().substring(0, 8);
int id = Integer.parseInt(stringId.trim());
if (id > maxId) maxId = id;
}
reader.close();
maxId++;
StringBuilder newId = new StringBuilder(Integer.toString(maxId));
for (int i = newId.length(); i < 8; i++) {
newId.append(" ");
}
writer.write("\n" + newId.toString() + productName + price + quantity);
writer.close();
}
}
/*
первые 3 строки были записаны ручками, дальше -
работа программы с разными параметрами:
-c "Куртка для сноубордистов, разм" 10173.99 1234
-c Mouse 11.50 3 (в разных последовательностях)
12 ProductName 150.02 2
11 ProductName2 120.02 3
18 ProductName3 120.52 5
19 Mouse 11.50 3
20 Mouse 11.50 3
21 Mouse 11.50 3
19847983Куртка для сноубордистов, разм10173.991234
19847984Mouse 11.50 3
19847985Куртка для сноубордистов, разм10173.991234
*/