Спасите пожалуйста...
Тестировал, и обновляется, и удаляется...
не знаю чего еще хочет от меня этот многоуважаемый валидатор :)
package com.javarush.task.task18.task1828;
/*
Прайсы 2
*/
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
public class Solution {
public static void main(String[] args) throws Exception {
String[] id = new String[8];
String[] productName = new String[30];
String[] price = new String[8];
String[] quantity = new String[4];
for (int i = 0; i < 30; i++) {
if (i < 4)
{
quantity[i] = " ";
}
if (i < 8)
{
price[i] = " ";
id[i] = " ";
}
productName[i] = " ";
}
for (int i = 0; i < args[1].length(); i++) {
if (i == 8) break;
id[i]= String.valueOf(args[1].charAt(i));
}
for (int i = 0; i < args[2].length(); i++) {
if (i == 30) break;
productName[i]= String.valueOf(args[2].charAt(i));
}
for (int i = 0; i < args[3].length(); i++) {
if (i == 8) break;
price[i] = String.valueOf(args[3].charAt(i));
}
for (int i = 0; i < args[4].length(); i++) {
if (i == 4) break;
quantity[i] = String.valueOf(args[4].charAt(i));
}
try(BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)))
{
ArrayList<String> list = new ArrayList<>();
String fileName = reader.readLine();
Scanner sc = new Scanner(new FileReader(fileName));
while (sc.hasNextLine())
{
list.add(sc.nextLine());
}
sc.close();
Solution sol = new Solution();
String output = sol.arrayToString(id)
+ sol.arrayToString(productName)
+ sol.arrayToString(price)
+ sol.arrayToString(quantity);
BufferedWriter out = new BufferedWriter(new FileWriter(fileName));
if ("-u".equals(args[0]) && args.length == 5) {
int inputId = Integer.parseInt(args[1].trim());
for (int i = 0; i < list.size(); i++) {
int nextId = Integer.parseInt(list.get(i).substring(0, 8).trim());
if (inputId == nextId)
{
list.set(i, output);
}
}
}
else if ("-d".equals(args[0]) && args.length == 2)
{
int inputId = Integer.parseInt(args[1].trim());
for (int i = 0; i < list.size(); i++) {
int nextId = Integer.parseInt(list.get(i).substring(0, 8).trim());
if (inputId == nextId)
{
list.remove(i);
}
}
}
for (String line : list)
{
out.write(line + "\n");
System.out.println(line);
}
sc.close();
out.close();
}
}
private String arrayToString(String[] s)
{
StringBuilder sb = new StringBuilder();
for (String value : s) {
sb.append(value);
}
return sb.toString();
}
}