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 SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH);
    static {
        allPeople.add(Person.createMale("Иванов Иван", new Date()));  //сегодня родился    id=0
        allPeople.add(Person.createMale("Петров Петр", new Date()));  //сегодня родился    id=1
    }

    public static void main(String[] args) throws ParseException {
        if (args.length == 2 || args.length == 4 || args.length == 5) {
            switch (args[0]) {
                case "-c":
                    addPerson(args);
                    break;
                case "-u":
                    updatePerson(args);
                    break;
                case "-d":
                    remuvePerson(args);
                    break;
                case "-i":
                    infoPerson(args);
                    break;
            }
        }
    }

    public static void addPerson(String[] args) throws ParseException {
        Person person = null;
        if (args[2].equals("м")) {
            person = (Person.createMale(args[1], sdf.parse(args[3])));
        } else if (args[2].equals("ж")){
            person = (Person.createFemale(args[1], sdf.parse(args[3])));
        }
        allPeople.add(person);
        System.out.println(allPeople.indexOf(person));
    }

    public static void updatePerson(String[] args) throws ParseException {
        Person person = allPeople.get(Integer.parseInt(args[1]));
        person.setName(args[2]);
        person.setSex(args[3].equals("м")? Sex.MALE : Sex.FEMALE);
        person.setBirthDay(sdf.parse(args[4]));
    }

    public static void remuvePerson(String[] args) {
        Person person = allPeople.get(Integer.parseInt(args[1]));
        person.setBirthDay(null);
    }

    public static void infoPerson(String[] args) {
        Person person = allPeople.get(Integer.parseInt(args[1]));
        if (person.getBirthDay() != null) {
            System.out.println(person.getName() + " " + (person.getSex() == Sex.MALE ? "м" : "ж") + " " + sdf.format(person.getBirthDay()));
        }
    }
}

level16.lesson13.home10

Программа работает по условию, но сервер не принимает. Прошу указать на ошибки.
содержимое файла 1:
mama
mila
ramu
2:
mila mila i ne pomila
Вывод:
mama mila ramu
mila mila i ne pomila

package com.javarush.test.level16.lesson13.home10;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

/* Последовательный вывод файлов
1. Разберись, что делает программа.
2. В статическом блоке считай 2 имени файла firstFileName и secondFileName.
3. Внутри класса Solution создай нить public static ReadFileThread, которая реализует
интерфейс ReadFileInterface (Подумай, что больше подходит - Thread или Runnable).
3.1. Метод setFileName должен устанавливать имя файла, из которого будет читаться содержимое.
3.2. Метод getFileContent должен возвращать содержимое файла.
3.3. В методе run считай содержимое файла, закрой поток. Раздели пробелом строки файла.
4. Подумай, в каком месте нужно подождать окончания работы нити, чтобы обеспечить последовательный вывод файлов.
4.1. Для этого добавь вызов соответствующего метода.
Ожидаемый вывод:
[все тело первого файла]
[все тело второго файла]
*/

public class Solution {
    public static String firstFileName;
    public static String secondFileName;

    static {
        firstFileName = "C:\\Users\\acer\\Desktop\\1.txt";
        secondFileName = "C:\\Users\\acer\\Desktop\\2.txt";
    }

    public static void main(String[] args) throws InterruptedException {
        systemOutPrintln(firstFileName);
        systemOutPrintln(secondFileName);
    }

    public static void systemOutPrintln(String fileName) throws InterruptedException {
        ReadFileInterface f = new ReadFileThread();
        f.setFileName(fileName);
        f.start();
        f.join();
        System.out.println(f.getFileContent());
    }

    public static interface ReadFileInterface {

        void setFileName(String fullFileName);

        String getFileContent();

        void join() throws InterruptedException;

        void start();
    }

    public static class ReadFileThread extends Thread implements ReadFileInterface {
        private String fullFileName;
        private String fileContent = "";

        public void setFileName(String fullFileName) {
            this.fullFileName = fullFileName;
        }

        public String getFileContent() {
            return fileContent;
        }

        public void run() {
            try {
                BufferedReader reader = new BufferedReader(new FileReader(fullFileName));
                while (reader.ready())
                {
                    fileContent += (reader.readLine()).concat(" ");
                }
                reader.close();
            } catch (Exception e) {
                System.out.println(e);
            }
        }
    }
}
  • ,

javarush.test.level18.lesson05.task03 HELP!

/* Разделение файла
Считать с консоли три имени файла: файл1, файл2, файл3.
Разделить файл1 по следующему критерию:
Первую половину байт записать в файл2, вторую половину байт записать в файл3.
Если в файл1 количество байт нечетное, то файл2 должен содержать бОльшую часть.
Закрыть потоки. Не использовать try-with-resources
*/
Код функцию выполняет, тестирование не проходит, помогите люди добрые

import java.io.*;

public class Solution {
    static String nameOne;
    static String nameTwo;
    static String nameThree;
    static FileInputStream fileInputStream;
    static FileOutputStream fileOutputStreamOne;
    static FileOutputStream fileOutputStreamTwo;
    public static void main(String[] args) {
        BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(System.in));
        try
        {
            nameOne=bufferedReader.readLine();
            nameTwo=bufferedReader.readLine();
            nameThree=bufferedReader.readLine();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        try
        {
            fileInputStream=new FileInputStream (nameOne);
            fileOutputStreamOne=new FileOutputStream(nameTwo);
            fileOutputStreamTwo=new FileOutputStream(nameThree);
        }
        catch (FileNotFoundException e)
        {
            e.printStackTrace();
        }
        try
        {
            byte [] byffer=new byte[fileInputStream.available()];

            while (fileInputStream.available()>0)
            {
                int count = fileInputStream.read(byffer);


                fileOutputStreamOne.write(byffer, 0, count/2+count%2);

                fileOutputStreamTwo.write(byffer,  count/2+count%2, count-count/2-count%2);

            }

        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        try
        {
            fileInputStream.close();
            fileOutputStreamTwo.close();
            fileOutputStreamOne.close();
            bufferedReader.close();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }

    }
}

level08.lesson11.home06

/* Вся семья в сборе
1. Создай класс Human с полями имя (String), пол (boolean), возраст (int), дети (ArrayList<Human>).
2. Создай объекты и заполни их так, чтобы получилось: два дедушки, две бабушки, отец, мать, трое детей.
3. Вывести все объекты Human на экран.
*/

import java.util.*;

public class Solution
{
    public static void main(String[] args)
    {
        //пункт 2
        Human grandFather1 = new Human("Александр", true, 60, new ArrayList<Human>(Arrays.asList(father)));
        Human grandFather2 = new Human("Михаил", true, 65, new ArrayList<Human>(Arrays.asList(mother)));
        Human grandMother1 = new Human("Мария", false, 55, new ArrayList<Human>(Arrays.asList(father)));
        Human grandMother2 = new Human("Наталья", false, 60, new ArrayList<Human>(Arrays.asList(mother)));
        Human father = new Human("Евгений", true, 35, new ArrayList<Human>(Arrays.asList(child1, child2, child3)));
        Human mother = new Human("Евгения", false, 35, new ArrayList<Human>(Arrays.asList(child1, child2, child3)));
        Human child1 = new Human("Саша", false, 8);
        Human child2 = new Human("Ирина", false, 10);
        Human child3 = new Human("Андрей", true, 15);
        System.out.println(grandFather1);
        System.out.println(grandFather2);
        System.out.println(grandMother1);
        System.out.println(grandMother2);
        System.out.println(father);
        System.out.println(mother);
        System.out.println(child1);
        System.out.println(child2);
        System.out.println(child3);

    }

    public static class Human
    {
        //пункт 1
        String name;
        boolean sex;
        int age;
        ArrayList<Human> children;

        public Human(String name, boolean sex, int age){
            this.name = name;
            this.sex = sex;
            this.age = age;
        }
        public Human(String name, boolean sex, int age, ArrayList<Human> children){
            this.name = name;
            this.sex = sex;
            this.age = age;
            this.children = children;
        }

        public String toString()
        {
            String text = "";
            text += "Имя: " + this.name;
            text += ", пол: " + (this.sex ? "мужской" : "женский");
            text += ", возраст: " + this.age;

            int childCount = this.children.size();
            if (childCount > 0)
            {
                text += ", дети: "+this.children.get(0).name;

                for (int i = 1; i < childCount; i++)
                {
                    Human child = this.children.get(i);
                    text += ", "+child.name;
                }
            }

            return text;
        }
    }

}

не работает вот это место
Human grandFather1 = new Human("Александр", true, 60, new ArrayList<Human>(Arrays.asList(father)));
        Human grandFather2 = new Human("Михаил", true, 65, new ArrayList<Human>(Arrays.asList(mother)));
        Human grandMother1 = new Human("Мария", false, 55, new ArrayList<Human>(Arrays.asList(father)));
        Human grandMother2 = new Human("Наталья", false, 60, new ArrayList<Human>(Arrays.asList(mother)));
        Human father = new Human("Евгений", true, 35, new ArrayList<Human>(Arrays.asList(child1, child2, child3)));
        Human mother = new Human("Евгения", false, 35, new ArrayList<Human>(Arrays.asList(child1, child2, child3)));

голову сломал, не понимаю, как правильно добавить элементы в список при инициации
объясните пожалуйста, что не так делаю
  • ,

нужна помощь по IDEA

в чем собственно проблема, я щас на 8 лв, в разных блогах слышал про свинг посмотрел пару видео. Попробовал создать окно в Intellij IDEA, выявилось сбита раскладка, русский текст в кубиках а английский норм. Вот код и скрин. помогите исправить
{
public static void main(String[] args)
{
JFrame frame = new JFrame(«title»);
frame.setSize(300, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());

JButton b1 = new JButton(«enter»);
JButton b2 = new JButton(«вывести»);
panel.add(b1);
panel.add(b2);
frame.getContentPane().add(panel);
}
}