остался один последний пункт. подозреваю, что я что-то не знаю, того, что хочет модуль проверки. прошу подсказать..
как видите, проверял реальными данными, все работает четко, вывод такой(дважды запущено):
19846 Шорты пляжные синие 159.00 12
198478 Шорты пляжные черные с рисунко173.00 17
19847983Куртка для сноубордистов, разм10173.991234
19847984ighjns nb jjrtfycrbt ptktyst g13 5894
19847985ighjns nb jjrtfycrbt ptktyst g13 5894
package com.javarush.task.task18.task1827;
import java.io.*;
import java.util.*;
/*
Прайсы
*/
public class Solution {
public static void main(String[] args) throws Exception {
//String[] args = new String[4];
//args[0] = "-c";
//args[1] = "ighjns nb jjrtfycrbt ptktyst ghtrhscyst b dczrbt";
//args[2] = "13";
//args[3] = "58948854";
if (args.length != 0 && args[0].equals("-c")) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String name = reader.readLine();
reader.close();
FileReader fr = new FileReader(name);
BufferedReader reader1 = new BufferedReader(fr);
ArrayList<Integer> list = new ArrayList();
String line;
while ((line = reader1.readLine()) != null) {
String id = line.substring(0, 8);
if (id.contains(" ")) list.add(Integer.parseInt(id.substring(0, id.indexOf(' '))));
else list.add(Integer.parseInt(id));
}
Collections.sort(list);
for (Integer i : list) {
System.out.println(i);
}
Integer id1 = list.get(list.size() - 1) + 1;
String id = id1.toString(); //расчитываем ID
if (id.length() < 8) {
for (int i = 0; i < 8 - id.length(); i++) {
id = id + " ";
}
}
if (id.length() > 8) {
for (int i = 0; i < id.length() - 8; i++) {
id = id.substring(8);
}
}
String productName = args[1]; // расчитываем productName
if (args[1].length() < 30) {
for (int i = 0; i < 30 - args[1].length(); i++) {
productName =productName + " ";
}
}
if (args[1].length() > 30) {
productName = args[1].substring(0, 30);
}
String price = args[2]; // расчитываем price
if (args[2].length() < 8) {
for (int i = 0; i < 8 - args[2].length(); i++) {
price = price + " ";
}
}
if (args[2].length() > 8) {
price = args[2].substring(0, 8);
}
String quantity = args[3]; // расчитываем quantity
if (args[3].length() < 4) {
for (int i = 0; i < 4 - args[3].length(); i++) {
quantity = args[3] + " ";
}
}
if (args[3].length() > 4) {
quantity = args[3].substring(0, 4);
}
reader1.close();
fr.close();
FileWriter fw = new FileWriter(name, true);
BufferedWriter writer = new BufferedWriter(fw);
writer.write("\r\n" + id + productName + price + quantity);
writer.flush();
fw.close();
writer.close();
}
}
}