• ,

task31.task3101

package com.javarush.task.task31.task3101;

import java.io.*;
import java.util.*;

Проход по дереву файлов

1. На вход метода main подаются два параметра.

Первый — path — путь к директории, второй — resultFileAbsolutePath — имя файла, который будет содержать результат.

2. Для каждого файла в директории path и в ее всех вложенных поддиректориях выполнить следующее:

2.1. Если у файла длина в байтах больше 50, то удалить его (используй метод FileUtils.deleteFile).

2.2. Если у файла длина в байтах НЕ больше 50, то для всех таких файлов:

2.2.1. Отсортировать их по имени файла в возрастающем порядке, путь не учитывать при сортировке.

2.2.2. Переименовать resultFileAbsolutePath в ‘allFilesContent.txt‘ (используй метод FileUtils.renameFile).

2.2.3. В allFilesContent.txt последовательно записать содержимое всех файлов из п. 2.2.1. Тела файлов разделять «n«.

Все файлы имеют расширение txt.
/*
Проход по дереву файлов
*/
public class Solution {

static ArrayListarrayList = new ArrayList<>();
static HashMap<String,File> map = new HashMap<>();

public static void main(String[] args) throws IOException, NullPointerException

{

if(args == null||args.length<2)

return;

String path = args[0];

String resultFileAbsolutePath = args[1];

File a = new File(path);

for(File file: a.listFiles())
{
if (file.isDirectory())
{
directory(file);

}
else
{

if (file.length() > 50) {
FileUtils.deleteFile(file);
} else if (file.length() <= 50) {
arrayList.add(file.getName());
map.put(file.getName(),file);
}
}

}

Collections.sort(arrayList);
File res = new File(resultFileAbsolutePath);
File res1 = new File(res.getParent()+"\\"+«allFilesContent.txt»);
FileUtils.renameFile(res,res1);

BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(res1)));

for(int i = 0; i < arrayList.size(); i++)
{

File file = map.get(arrayList.get(i));

BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));

while (reader.ready())
{
writer.write((reader.read()));
}
if(i == arrayList.size()-1)
{

}
else {
writer.write(«n»);
}

reader.close();

}
writer.close();

}

public static void deleteFile(File file) {
if (!file.delete()) System.out.println(«Can not delete file with name » + file.getName());

}

public static void directory(File file)
{
for(File f: file.listFiles())
{
if (f.isDirectory())
{
directory(f);

}
else
{

if (f.length() > 50) {
FileUtils.deleteFile(f);
} else if (f.length() <= 50) {

arrayList.add(f.getName());
map.put(f.getName(),f);
}
}

}

}
}
Ребятпроблема
валидатор непринимает и я непойму что не так
1) Может быть проблема с выводом в файл?
использовать writeLine() или write()
2) Может из-за рекурсивного метода?
Как тогда организовать вход во вложенные директории?

task.task05.task0521 Help

Помогите решить задачу!
Вызов конструктора из конструктора
Разберись, что делает программа.
Исправь конструктор с двумя параметрами так, чтобы он вызывал другой конструктор с радиусом 10.
Подумай, какой конструктор нужно вызвать.
Подсказка:
внимательно изучи реализацию конструктора по умолчанию.
P.S. новое задание из версии JavaRush 2.0

public class Circle {

public double x;
public double y;
public double radius;

public Circle(double x, double y, double radius) {
this.x = x;
this.y = y;
this.radius = radius;
}

public Circle(double x, double y) {
this(5,5,1);
this.x = x;
this.y = y;
this.radius = 10;
}

public Circle() {
this(5, 5, 1);
}

public static void main(String[] args) {
Circle circle = new Circle();
System.out.println(circle.x + " " + circle.y + " " + circle.radius);
Circle anotherCircle = new Circle(10, 5);
System.out.println(anotherCircle.x + " " + anotherCircle.y + " " + anotherCircle.radius);
}
}

level15.lesson12.home09

Программа работает, но не проходит тест. Подскажите в чем bug?
/* Парсер реквестов
Считать с консоли URl ссылку.
Вывести на экран через пробел список всех параметров (Параметры идут после ? и разделяются &, например, lvl=15).
URL содержит минимум 1 параметр.
Если присутствует параметр obj, то передать его значение в нужный метод alert.
alert(double value) - для чисел (дробные числа разделяются точкой)
alert(String value) - для строк

Пример 1
Ввод:
http://javarush.ru/alpha/index.html?lvl=15&view&name=Amigo
Вывод:
lvl view name

Пример 2
Ввод:
http://javarush.ru/alpha/index.html?obj=3.14&name=Amigo
Вывод:
obj name
double 3.14
*/

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;

public class Solution {
    public static void main(String[] args) throws IOException
    {
        BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
        URL url = new URL(r.readLine());
        String s = url.toString();
        String s1 = s.substring(s.indexOf("?")+1);
        if (s1.contains("&"))
        {
            String[] s2 = s1.split("&");
            for (String line : s2)
            {
                if (line.contains("=")&&!line.contains("obj"))
                {
                    String attributeName = line.substring(0, line.indexOf("="));
                    System.out.print(attributeName+" ");
                } else  if (!line.contains("=")&&!line.contains("obj"))
                {
                    System.out.print(line+" ");
                } else {
                    String attributeName = line.substring(0, line.indexOf("="));
                    System.out.print(attributeName+" ");
                }
            }
            System.out.println("");
            if (s1.contains("obj"))
            {
                String value = s1.substring(s1.indexOf("obj=")+4, s1.indexOf("&"));
                if (value.contains("."))
                {
                    try
                    {
                        double d = Double.parseDouble(value);
                        alert(d);
                    }
                    catch (NumberFormatException e)
                    {
                    }
                } else
                    alertS(value);
            }
        } else {
            if (s1.contains("=")&&!s1.contains("obj"))
                System.out.println(s1.substring(0,s1.indexOf("=")));
            else if (s1.contains("=")&&s1.contains("obj"))
            {
                System.out.println(s1.substring(0,s1.indexOf("=")));
                try
                {
                    double value = Double.parseDouble(s1);
                    alert(value);
                }
                catch (NumberFormatException e)
                {
                    alertS(s1);
                }
            }
            else
                System.out.println(s1);
        }

    }
    public static void alert(double value) {
        System.out.println("double " + value);
    }

    public static void alertS(String value) {
        System.out.println("String " + value);
    }
}
  • ,

level17.lesson10.bonus01 подскажите где ошибка. всё работает, но тест не проходит

package com.javarush.test.level17.lesson10.bonus01;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;

/* CRUD
CrUD - Create, Update, Delete
Программа запускается с одним из следующих наборов параметров:
-c name sex bd
-u id name sex bd
-d id
-i id
Значения параметров:
name - имя, String
sex - пол, "м" или "ж", одна буква
bd - дата рождения в следующем формате 15/04/1990
-c  - добавляет человека с заданными параметрами в конец allPeople, выводит id (index) на экран
-u  - обновляет данные человека с данным id
-d  - производит логическое удаление человека с id
-i  - выводит на экран информацию о человеке с id: name sex (м/ж) bd (формат 15-Apr-1990)

id соответствует индексу в списке
Все люди должны храниться в allPeople
Используйте Locale.ENGLISH в качестве второго параметра для SimpleDateFormat

Пример параметров: -c Миронов м 15/04/1990
*/

public class Solution {
    public static List<Person> allPeople = new ArrayList<Person>();

    static {
        allPeople.add(Person.createMale("Иванов Иван", new Date()));  //сегодня родился    id=0
        allPeople.add(Person.createMale("Петров Петр", new Date()));  //сегодня родился    id=1
    }

    public static void main(String[] args) {
        if (args.length < 2 || args.length > 6 || args.length == 3) {
            return;
        }
        try {
            if (args[0].equals("-c")) {     // create new person and add this to ArrayList
                switch (args[2]) {          // switch sex
                    case "м":
                        allPeople.add(Person.createMale(args[1], new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(args[args.length - 1])));
                        System.out.println(allPeople.size() - 1);
                        break;
                    case "ж":
                        allPeople.add(Person.createFemale(args[1], new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(args[args.length - 1])));
                        System.out.println(allPeople.size() - 1);
                        break;
                    default:
                        break;
                }
            }

            int id = Integer.parseInt(args[1]);

            switch (args[0]) {              // switch command
                case "-d":                  // remove person with id xxx
                    allPeople.remove(id);
                    break;
                case "-u":                  // update person with id xxx
                    switch (args[3]) {      // switch sex
                        case "м":
                            allPeople.set(id, Person.createMale(args[2], new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(args[args.length - 1])));
                            break;
                        case "ж":
                            allPeople.set(id, Person.createFemale(args[2], new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(args[args.length - 1])));
                            break;
                    }
                    break;
                case "-i":              // info about person with id xxx
                    System.out.println((allPeople.get(id)).toString());
                    break;
                default:
                    break;
            }
        } catch (ParseException | NumberFormatException ignored) {

        }
    }
}


и второй класс

package com.javarush.test.level17.lesson10.bonus01;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class Person {
    private String name;
    private Sex sex;
    private Date birthDay;

    private Person(String name, Sex sex, Date birthDay) {
        this.name = name;
        this.sex = sex;
        this.birthDay = birthDay;
    }

    public static Person createMale(String name, Date birthDay) {
        return new Person(name, Sex.MALE, birthDay);
    }

    public static Person createFemale(String name, Date birthDay) {
        return new Person(name, Sex.FEMALE, birthDay);
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Sex getSex() {
        return sex;
    }

    public void setSex(Sex sex) {
        this.sex = sex;
    }

    public Date getBirthDay() {
        return birthDay;
    }

    public void setBirthDay(Date birthDay) {
        this.birthDay = birthDay;
    }

    public String toString() {
        String out;
        if (sex.equals(Sex.MALE))
            out = "м";
        else
            out = "ж";

        SimpleDateFormat format1 = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
        return name + " " + out + " " + format1.format(getBirthDay());
    }
}
  • ,

level17.lesson10.bonus01 подскажите где ошибка. всё работает, но тест не проходит

package com.javarush.test.level17.lesson10.bonus01;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;

/* CRUD
CrUD - Create, Update, Delete
Программа запускается с одним из следующих наборов параметров:
-c name sex bd
-u id name sex bd
-d id
-i id
Значения параметров:
name - имя, String
sex - пол, "м" или "ж", одна буква
bd - дата рождения в следующем формате 15/04/1990
-c  - добавляет человека с заданными параметрами в конец allPeople, выводит id (index) на экран
-u  - обновляет данные человека с данным id
-d  - производит логическое удаление человека с id
-i  - выводит на экран информацию о человеке с id: name sex (м/ж) bd (формат 15-Apr-1990)

id соответствует индексу в списке
Все люди должны храниться в allPeople
Используйте Locale.ENGLISH в качестве второго параметра для SimpleDateFormat

Пример параметров: -c Миронов м 15/04/1990
*/

public class Solution {
    public static List<Person> allPeople = new ArrayList<Person>();

    static {
        allPeople.add(Person.createMale("Иванов Иван", new Date()));  //сегодня родился    id=0
        allPeople.add(Person.createMale("Петров Петр", new Date()));  //сегодня родился    id=1
    }

    public static void main(String[] args) {
        if (args.length < 2 || args.length > 6 || args.length == 3) {
            return;
        }
        try {
            if (args[0].equals("-c")) {     // create new person and add this to ArrayList
                switch (args[2]) {          // switch sex
                    case "м":
                        allPeople.add(Person.createMale(args[1], new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(args[args.length - 1])));
                        System.out.println(allPeople.size() - 1);
                        break;
                    case "ж":
                        allPeople.add(Person.createFemale(args[1], new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(args[args.length - 1])));
                        System.out.println(allPeople.size() - 1);
                        break;
                    default:
                        break;
                }
            }

            int id = Integer.parseInt(args[1]);

            switch (args[0]) {              // switch command
                case "-d":                  // remove person with id xxx
                    allPeople.remove(id);
                    break;
                case "-u":                  // update person with id xxx
                    switch (args[3]) {      // switch sex
                        case "м":
                            allPeople.set(id, Person.createMale(args[2], new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(args[args.length - 1])));
                            break;
                        case "ж":
                            allPeople.set(id, Person.createFemale(args[2], new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(args[args.length - 1])));
                            break;
                    }
                    break;
                case "-i":              // info about person with id xxx
                    System.out.println((allPeople.get(id)).toString());
                    break;
                default:
                    break;
            }
        } catch (ParseException | NumberFormatException ignored) {

        }
    }
}


и второй класс

package com.javarush.test.level17.lesson10.bonus01;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class Person {
    private String name;
    private Sex sex;
    private Date birthDay;

    private Person(String name, Sex sex, Date birthDay) {
        this.name = name;
        this.sex = sex;
        this.birthDay = birthDay;
    }

    public static Person createMale(String name, Date birthDay) {
        return new Person(name, Sex.MALE, birthDay);
    }

    public static Person createFemale(String name, Date birthDay) {
        return new Person(name, Sex.FEMALE, birthDay);
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Sex getSex() {
        return sex;
    }

    public void setSex(Sex sex) {
        this.sex = sex;
    }

    public Date getBirthDay() {
        return birthDay;
    }

    public void setBirthDay(Date birthDay) {
        this.birthDay = birthDay;
    }

    public String toString() {
        String out;
        if (sex.equals(Sex.MALE))
            out = "м";
        else
            out = "ж";

        SimpleDateFormat format1 = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
        return name + " " + out + " " + format1.format(getBirthDay());
    }
}

level18.lesson10.home10 Народ, нужен свежий взгляд. Что тут не так?


package com.javarush.test.level18.lesson10.home10;

/* Собираем файл
Собираем файл из кусочков
Считывать с консоли имена файлов
Каждый файл имеет имя: [someName].partN. Например, Lion.avi.part1, Lion.avi.part2, ..., Lion.avi.part37.
Имена файлов подаются в произвольном порядке. Ввод заканчивается словом "end"
В папке, где находятся все прочтенные файлы, создать файл без приставки [.partN]. Например, Lion.avi
В него переписать все байты из файлов-частей используя буфер.
Файлы переписывать в строгой последовательности, сначала первую часть, потом вторую, ..., в конце - последнюю.
Закрыть потоки. Не использовать try-with-resources
*/

import java.io.*;
import java.util.*;


public class Solution {
    public static void main(String[] args) throws IOException
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        List<String> list = new ArrayList<String>();
        String s;
        while (!"end".equals(s = reader.readLine()))
        {
            list.add(s);
        }
        reader.close();
        Map<Integer, String> map = new TreeMap<Integer, String>();
        for (String x : list)
        {
            for (int i = 0; i <= list.size(); i++)
            {
                if (x.endsWith("part" + (i)))
                {
                    map.put(i, x);
                }
            }
        }
        File file = new File("c:/1/Lion.avi");

        FileOutputStream out = new FileOutputStream(file, true);
        for (Map.Entry<Integer, String> pair : map.entrySet())
        {
            FileInputStream in = new FileInputStream(pair.getValue());
            byte[] buff = new byte[in.available()];
            if (in.available() > 0)
            {
                int count = in.read(buff);
                out.write(buff, 0, count);
            }
            in.close();
        }
        out.close();

    }
}


Народ, нужен свежий взгляд. Что тут не так?

level27.lesson15.big01 Задание 2. Прошу помощи! Тестирование заболело

Заранее извиняюсь за повторное создание темы.
Это задание просто отказывается проходить тесты!
Само задание:
Задание 2
1. Мы много работаем с консолью. Пора создать единую точку взаимодействия.
Создайте класс ConsoleHelper с единственным BufferedReader, через который будете работать с консолью.
Запомните, этот класс не хранит никаких данных и состояний, поэтому все методы будут статическими.
Создайте в нем три метода:
-writeMessage(String message) - для вывода message в консоль
-String readString() - для чтения строки с консоли
-List<Dish> getAllDishesForOrder() - просит ползователя выбрать блюдо и добавляет его в список. Введенное 'exit' означает завершение заказа.
исключения пробрасывайте выше, на этом уровне не понятно, что с ними делать.

2. Отрефакторьте код - работа с консолью должна быть только через класс ConsoleHelper

3. Вернемся к классу Order: в нем есть ссылка на планшет, и еще есть список выбранных блюд.
Создайте поле dishes - список блюд. Инициализируйте его в конструкторе, вызвав метод getAllDishesForOrder из ConsoleHelper.

4. Перепишите метод toString в классе Order. Пусть он возвращает пустую строку, если нет блюд в заказе, иначе
вывод должен быть аналогичный примеру в порядке добавления блюд. Используйте ConsoleHelper.
Пример:
Your order: [Juice, Fish] of Tablet{number=5}

5. У нас все завязано на работу с консолью. Однако, при возникновении исключений, наше приложение умрет.
Чтобы узнать причину - добавим в Tablet статический логгер java.util.logging.Logger, инициализированный именем класса.

6. В методе createOrder класса Tablet обработаем исключения ввода-вывода.
Запишем в лог "Console is unavailable.". Уровень лога - SEVERE - это самый серьезный уровень, мы не можем работать.

7. Надо начинать тестировать наше приложение.
Добавьте в main создание планшета и создание заказа - new Tablet(5).createOrder();


Dish.java:
package com.javarush.test.level27.lesson15.big01.kitchen;

import java.util.Arrays;

/**
 Enum блюд
 */
public enum Dish
{
    Fish,
    Steak,
    Soup,
    Juice,
    Water;

    public static String allDishesToString()
    {
        StringBuilder sb = new StringBuilder(Arrays.toString(values()));
        sb.delete(sb.length() - 1, sb.length());
        sb.delete(0, 1);
        return sb.toString();
    }
}


ConsoleHelper.java:
package com.javarush.test.level27.lesson15.big01;

import com.javarush.test.level27.lesson15.big01.kitchen.Dish;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class ConsoleHelper
{
    private static final BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

    public static void writeMessage(String message)
    {
        System.out.println(message);
    }

    public static String readString() throws IOException
    {
        return reader.readLine();
    }

    public static List<Dish> getAllDishesForOrder() throws IOException
    {
        List<Dish> dishes = new ArrayList<>();
        String str;
        writeMessage("Enter dish...(" + Dish.allDishesToString() + ")");
        while (true)
        {
            str = readString();
            if ("exit".equalsIgnoreCase(str))
                break;

            try
            {
                dishes.add(Dish.valueOf(str));
            }
            catch (IllegalArgumentException e)
            {
                ConsoleHelper.writeMessage(str + " is not detected");
            }
        }
        return dishes;
    }
}

Order.java:
package com.javarush.test.level27.lesson15.big01.kitchen;

import com.javarush.test.level27.lesson15.big01.ConsoleHelper;
import com.javarush.test.level27.lesson15.big01.Tablet;

import java.io.IOException;
import java.util.List;

/**
 Заказ
 */
public class Order
{
    private List<Dish> dishes;
    private Tablet tablet;

    public Order(Tablet tablet) throws IOException
    {
        this.dishes = ConsoleHelper.getAllDishesForOrder();
        this.tablet = tablet;
    }

    @Override
    public String toString()
    {
        if (dishes == null || dishes.isEmpty())
            return "";
        else
            return "You order: " + dishes.toString() + " of " + tablet;
    }
}


Tablet.java:
package com.javarush.test.level27.lesson15.big01;

import com.javarush.test.level27.lesson15.big01.kitchen.Order;

import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 Планшет
 */
public class Tablet
{
    //номер планшета
    private final int number;
    private static Logger logger = Logger.getLogger(Tablet.class.getName());

    public Tablet(int number)
    {
        this.number = number;
    }

    public void createOrder()
    {
        Order order;
        try
        {
            order = new Order(this);
            ConsoleHelper.writeMessage(order.toString());
        }
        catch (IOException e)
        {
            logger.log(Level.SEVERE, "Console is unavailable.");
        }
    }

    @Override
    public String toString()
    {
        return "Tablet{number=" + number + '}';
    }
}


Вывод на экран:
Enter dish...(Fish, Steak, Soup, Juice, Water)
Fish
Soup
Wateeeer
Wateeeer is not detected
Steak
ExIt
You order: [Fish, Soup, Steak] of Tablet{number=5}
  • ,

level05.lesson12.bonus03

public class Solution
{
    public static void main(String[] args) throws Exception
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int a = Integer.parseInt(reader.readLine());
        int maximum = 0;
        int b;
        if (a>0)
        {
            for (int i = 1; i <= a; i++)
            {
                b = Integer.parseInt(reader.readLine());
                if (maximum < b) maximum = b;
            }
            System.out.println(maximum);
        }
    }
}


Ребята яверы, помогите. В чём кроется ошибка? Всё работает нормально, ответы выдаёт верные, но код не принимается. Что поменять?
  • ,

level18.lesson10.home08

import java.io.*;
import java.util.HashMap;
import java.util.Map;

/* Нити и байты
Читайте с консоли имена файлов, пока не будет введено слово "exit"
Передайте имя файла в нить ReadThread
Нить ReadThread должна найти байт, который встречается в файле максимальное число раз, и добавить его в словарь resultMap,
где параметр String - это имя файла, параметр Integer - это искомый байт.
Закрыть потоки. Не использовать try-with-resources
*/

public class Solution {
    public static Map<String, Integer> resultMap = new HashMap<String, Integer>();


    public static void main(String[] args) throws IOException, InterruptedException
    {

        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

            String filename = reader.readLine();
            while (!filename.equals("exit"))
            {
                new ReadThread(filename).start();
                filename = reader.readLine();
            }

      /*  for (Map.Entry<String, Integer> pair : resultMap.entrySet())
        {
            System.out.println(pair.getKey() + " " + pair.getValue());
        }
    */


        reader.close();
    }

    public static class ReadThread extends Thread {

        String filename;
        public ReadThread(String fileName)
        {
            this.filename = fileName;

        }

        public void run()
        {
            try
            {
                Map <Integer, Integer> map = new HashMap<>();

                FileInputStream is = new FileInputStream(filename);

                int data = is.read();


                if (map.containsKey(data))
                {
                    map.put(data, map.get(data) + 1);
                }
                else
                {
                    map.put(data, 1);
                }
                
                is.close();

                int max = 0;

                for (Map.Entry<Integer, Integer> pair : map.entrySet())
                {

                    int key = pair.getKey();
                    int value = pair.getValue();

                    if (max < value)
                    {
                        max = value;
                    }

                    synchronized (resultMap)
                    {
                        resultMap.put(this.filename, key);
                    }

                }
            }
            catch (IOException e)
            {

            }
        }
    }
}

Друзья, помогите с задачей, выводит верно, валидатор не проходит. Потоки закрыты, hashmap синхронизирован, start вынес в main, но что-то неправильно, не могу понять что.
  • ,

level18.lesson10.home05

/* Округление чисел
Считать с консоли 2 имени файла
Первый файл содержит вещественные(дробные) числа, разделенные пробелом. Например, 3.1415
Округлить числа до целых и записать через пробел во второй файл
Закрыть потоки. Не использовать try-with-resources
Принцип округления:
3.49 - 3
3.50 - 4
3.51 - 4
-3.49 - -3
-3.50 - -3
-3.51 - -4
*/

import java.io.*;

public class Solution {
    public static void main(String[] args) throws IOException, NumberFormatException{

        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        String is1 = reader.readLine();
        String is2 = reader.readLine();



        BufferedReader reader1 = new BufferedReader(new FileReader(is1));

        FileWriter is = new FileWriter(is2);

        String[] result;


        result = reader1.readLine().split(" ");



        String x = "";

        
        for (int i = 0; i < result.length;i++ )
        {
            x += Math.round(Double.parseDouble(result[i])) + " ";
        }
        is.write(x.trim());


        reader1.close();
        is.close();

    }

}


Валидатор не принимает. Результат вроде выводит правильный, переписал без пробела в конце. Помогите пожалуйста, что не так в решении?

Баги с Code Sample на help.javarush.ru

Господа, ну явные же баги с обработкой кусков кода в вопросах на help.javarush.ru При нажатии кнопки Code Sample видимые теги в сообщении не появляются, а невидимые отрабатывают криво: если вводить код после кнопки, первые несколько строк всегда остаются за тегом. Вы уж дайте нам видеть теги разметки, (на программистов же учимся, не хухры-мухры =) ).

И вот это ещё: «используйте по крайней мере %d символов / 66 слова», оттуда же.