• ,

Задача: У каждой кошки есть имя и кошка-мама. Создать класс, который бы описывал данную ситуацию

Подскажите что не так? читал все топики ни че не понял чё переставить где? выводит все нормуль

public static void main(String[] args) throws IOException
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));


        String motherName = reader.readLine();
        Cat catMother = new Cat(motherName);

        String fazedName = reader.readLine();
        Cat catFazed = new Cat(fazedName);

        String gfName = reader.readLine();
        Cat catGf = new Cat(gfName, catMother, null );

        String gmName = reader.readLine();
        Cat catGm = new Cat(gmName,null, catFazed );

        String daughterName = reader.readLine();
        Cat catDaughter = new Cat(daughterName, catGm, catGf);

        String sonName = reader.readLine();
        Cat catSon = new Cat(sonName, catGm, catGf);

        System.out.println(catMother);
        System.out.println(catFazed);
        System.out.println(catGf);
        System.out.println(catGm);
        System.out.println(catDaughter);
        System.out.print(catSon);
    }

    public static class Cat
    {
        private String name;
        private Cat parentu;
        private Cat parent;


        Cat(String name)
        {
            this.name = name;
        }

        Cat(String name,  Cat parent, Cat parentu )
        {
            this.name = name;
            this.parent = parentu;
            this.parentu = parent;
        }

        @Override
        public String toString()
        {
            return "Cat name is " + name +
                    (parentu!=null ? ", father is " + parentu.name : ", no father") +
                    ((parent != null ? ", mother is " + parent.name : ", no mother"));


вывод:
Cat name is 1, no father, no mother
Cat name is 2, no father, no mother
Cat name is 3, father is 1, no mother
Cat name is 4, no father, mother is 2
Cat name is 5, father is 4, mother is 3
Cat name is 6, father is 4, mother is 3
Process finished with exit code 0
  • ,

com.javarush.test.level13.lesson11.home04;

Здравствуйте! Помогите, пожалуйста, с задачей. Долго мучался и не понимал, как перенести запись на новую строку. Решил просто так отправить на проверку, и сервер её принял. Но я до сих пор не понимаю, что нужно сделать, чтобы в файле все строки выводились с новой строки.

package com.javarush.test.level13.lesson11.home04;

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

/* Запись в файл
1. Прочесть с консоли имя файла.
2. Считывать строки с консоли, пока пользователь не введет строку "exit".
3. Вывести абсолютно все введенные строки в файл, каждую строчку с новой стороки.
*/

public class Solution
{
    public static void main(String[] args) throws Exception
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        OutputStream fos = new FileOutputStream(reader.readLine());
        ArrayList<String> list = new ArrayList<String>();
        while (true)
        {
            String s = reader.readLine() + "\n";
            list.add(s);
            if (s.equals("exit\n"))
            {
                for (int i = 0; i < list.size(); i++)
                {

                    fos.write(list.get(i).getBytes());
                }
                break;
            }
        }
        reader.close();
        fos.close();
    }
}
  • ,

package com.javarush.test.level05.lesson12.bonus03;

/* Задача по алгоритмам
Написать программу, которая:
1. вводит с консоли число N > 0
2. потом вводит N чисел с консоли
3. выводит на экран максимальное из введенных N чисел.
*/


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;

public class Solution
{
    public static void main(String[] args) throws Exception
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int maximum = 0;

        System.out.println("<<Введите число больше чем 0>>");
        int max = Integer.parseInt(reader.readLine());
        if ( max > 0)
        {
            System.out.println("<<Введите " + max + " чисел/числа/число)>>");
            int[] list = new int[max];
            for (int z = 0; z < max; z++)
        {
            String s = reader.readLine();
            list[z] = Integer.parseInt(s);
        }
            Arrays.sort(list);
            maximum=list[list.length-1];
        System.out.println(maximum);
        }
        //если число <0 закончить работу
    else System.exit(0);
    }
}


работает правильно, сервер не принимает, уже долго весит нерешенная, убирал if/else все равно не принимает.help

level27.lesson15.big01 Задание 2. Не проходит задача, ответов нигде не нашел

Товарисчи, помогите с проблемой, уже пару дней парюсь с этой задаче, но пока вообще не понятно, из-за чего может не принимать

Order

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 Tablet tablet;
    private List<Dish> dishes;

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

    @Override
    public String toString()
    {
        String result = "";
        if (!dishes.isEmpty())
        {
            result = "Your order: " + dishes.toString() + " of Tablet{number=" + tablet.number + "}";
        }
        return result;
    }
}



Dish

public enum Dish
{
    Fish,
    Steak,
    Soup,
    Juice,
    Water;

    public static String allDishesToString()
    {
        if (values().length == 0)
        {
            return "";
        }
        StringBuilder dishes = new StringBuilder();

        for (Dish dish : values())
        {
            dishes.append(dish.name());
            dishes.append(", ");
        }
        return dishes.toString().substring(0, dishes.length() - 2).trim();
    }
}


Tablet



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

public class Tablet
{
    public static java.util.logging.Logger logger = Logger.getLogger(Tablet.class.getName());
    public final int number;

    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.");
        }
    }
}


Restaurant



public class Restaurant
{
    public static void main(String[] args)
    {
        ConsoleHelper.writeMessage(Dish.allDishesToString());
        new Tablet(5).createOrder();
    }
}


ConsoleHelper


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class ConsoleHelper
{
    private final static 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, IllegalArgumentException
    {
        String value;
        ArrayList<Dish> dishes = new ArrayList<>();
        writeMessage("Choose dish or press 'exit'");
        while (!"exit".equalsIgnoreCase(value = reader.readLine()))
        {
            writeMessage("Choose dish or press 'exit'");
            dishes.add(Dish.valueOf(value));
        }
        return dishes;
    }
}

Как загрузить уже решенные уровни, если я продолжил обучение с другого компа

Проблема вот в чем: я дошел до 27 уровня и проект сейчас на ноуте. Но мне взбредило в голову решать задачи еще и на другом компе в более удобном месте, я всё установил, но вот решенные задачи пройденых 27 уровней с сервера не пришли. Есть ли возможность загрузить их?

package com.javarush.test.level15.lesson12.home09; Не парсит один параметр из тестовой строки

package com.javarush.test.level15.lesson12.home09;

/* Парсер реквестов
Считать с консоли 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;

public class Solution {

    public static void main(String[] args) throws IOException
    {
        //add your code here
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String url = reader.readLine();
        int index = url.indexOf("?")+1;
        String substring = url.substring(index);
        String[] strings = substring.split("&");
        //String[] potentialObj=[2];


        for (String s : strings) System.out.print(s + " ");
        for (String s: strings) {
            if (s.contains("="))
            {
                String[] potentialObj = s.split("=");

                if (potentialObj[0].equals("obj"))
                {
                    try
                    {
                        alert(Double.parseDouble(potentialObj[1]));
                    }
                    catch (Exception e)
                    {
                        alert(potentialObj[1]);
                    }

                }
            }
        }

        reader.close();

    }

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

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


Программа при вводе тестового строки

javarush.ru/alpha/index.html?lvl=15&view&name=Aobjmigo&obj=3.14&name=&obj=djsdcd&oobj=3.0&obj=1&obj=2.3&obj=aaa

не парсит первый параметры «obj=3.14».

Вывод на терминал:
javarush.ru/alpha/index.html?lvl=15&view&name=Aobjmigo&obj=3.14&name=&obj=djsdcd&oobj=3.0&obj=1&obj=2.3&obj=aaa
lvl=15 view name=Aobjmigo obj=3.14 name= obj=djsdcd oobj=3.0 obj=1 obj=2.3 obj=aaa double 3.14
String djsdcd
double 1.0
double 2.3
String aaa

Process finished with exit code 0

Есть у кого-то соображения на этот счет?
  • ,

level09.lesson11.home05 Загляни-помоги :) Спасибо

Подскажите на что следует обратить внимание, а результат у меня видает на кирилицу " [?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?]..."

* Гласные и согласные буквы
Написать программу, которая вводит с клавиатуры строку текста.
Программа должна вывести на экран две строки:
1. первая строка содержит только гласные буквы
2. вторая — только согласные буквы и знаки препинания из введённой строки.
Буквы соединять пробелом.

Пример ввода:
Мама мыла раму.
Пример вывода:
а а ы а а у
М м м л р м.
*/

public class Solution
{
    public static void main(String[] args) throws Exception
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String str = reader.readLine();
        //Масиви в які добавляємо відсортовані букви
        ArrayList<Character> vowel = new ArrayList<Character>();
        ArrayList<Character> notVowel = new ArrayList<Character>();

        //Введену строку перетворюємо в масив і відправляємо в метод isVowels для перевірки яка буква
        char[] Char = str.toCharArray();
        for (char c : Char) {
            if (isVowel©==true) {
                vowel.add©;
            }
            else notVowel.add©;
        }
       print(vowel);
        System.out.println(" ");
        print(notVowel);

    }

    public static void print (ArrayList<Character> c) {
        for(char d : c){
            System.out.print(c+" ");
        }
    }

    public static char[] vowels = new char[]{'а', 'я', 'у', 'ю', 'и', 'ы', 'э', 'е', 'о', 'ё'};

    //метод проверяет, гласная ли буква
    public static boolean isVowel(char c)
    {
        c = Character.toLowerCase©;  //приводим символ в нижний регистр - от заглавных к строчным буквам

        for (char d : vowels)   //ищем среди массива гласных
        {
            if (c == d)
                return true;
        }
        return false;
    }
}
  • ,

Вопрос по задаче com.javarush.test.level09.lesson02.task04

Задачу я решил, но не очень понимаю. Условия такое:
Стек-трейс длиной 10 вызовов
Напиши код, чтобы получить стек-трейс длиной 10 вызовов.

Написал return method(n) где не било так и решил.
Только по условию Стек-трейс по условию 10, а по факту у нас будет 12, так как еще main() + getStackTrace()
Возможно я что-то не правильно понимаю в условии

public class Solution
{
    public static void main(String[] args) throws Exception
    {
        method1();
    }

    public static StackTraceElement[] method1()
    {
        return method2();
    }

    public static StackTraceElement[] method2()
    {
        //напишите тут ваш код
       

    }

    public static StackTraceElement[] method3()
    {
        //напишите тут ваш код
        

    }

    public static StackTraceElement[] method4()
    {
        //напишите тут ваш код
        

    }

    public static StackTraceElement[] method5()
    {
        //напишите тут ваш код
       
        

    }

    public static StackTraceElement[] method6()
    {
        //напишите тут ваш код
        
    }

    public static StackTraceElement[] method7()
    {
        //напишите тут ваш код
        

    }

    public static StackTraceElement[] method8()
    {
        //напишите тут ваш код
        

    }

    public static StackTraceElement[] method9()
    {
        return method10();
    }

    public static StackTraceElement[] method10()
    {
        return Thread.currentThread().getStackTrace();
    }
}
  • ,

com.javarush.test.level08.lesson11.home05

Здравствуйте!!! Немного из пушки по воробъям, но не подскажите ли в чем проблема может быть?

не проходит тестирование. Реакция на любое количество символов и последовательности выдает верный результат

Спасибо

package com.javarush.test.level08.lesson11.home05;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;

/* Мама Мыла Раму. Теперь с большой буквы
Написать программу, которая вводит с клавиатуры строку текста.
Программа заменяет в тексте первые буквы всех слов на заглавные.
Вывести результат на экран.

Пример ввода:
  мама     мыла раму.

Пример вывода:
  Мама     Мыла Раму.
*/

public class Solution
{
    public static void main(String[] args) throws IOException
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String s = reader.readLine();


        Character space = ' ';
ArrayList<Character> list = new ArrayList<Character>();

        for (int i = 0; i < s.length(); i++) {
           Character sym = s.charAt(i);
            if (i == 0 && s.charAt(i)!= space ){
                sym = sym.toUpperCase(sym);
            } else if (i>1 && s.charAt(i-1) == space && s.charAt(i) != space){
                sym = sym.toUpperCase(sym);
            }
            list.add(sym);

        }

        String itog = "";
        for (Character f : list)
                itog +=f;


        System.out.println(itog);

        //напишите тут ваш код
    }


}

level26.lesson10.home02

Позскажите, что еще сделать надо, не понимаю.
Файл Solution

import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/* Мир не меняется, меняемся мы.
Разберитесь с ConcurrentHashMap
В отдельном файле создайте класс Producer, который будет:
1. каждые полсекунды выводить на консоль с новой строки начиная с 1 фразу [Some text for i] , пример "Some text for 1"
2. при возникновении исключения выводить в консоль [[TREAD_NAME] thread was terminated], пример "[thread-1] thread was terminated"
*/
public class Solution
{
    public static void main(String[] args) throws Exception
    {
        ConcurrentHashMap<String, String> map = new ConcurrentHashMap<>();

        Producer producer = new Producer(map);
        Consumer consumer = new Consumer(map);

        ExecutorService executorService = Executors.newCachedThreadPool();
        executorService.submit(producer);
        executorService.submit(consumer);

        Thread.sleep(2000);

        executorService.shutdownNow();
        //finally 5 lines have to be printed
    }
}



Файл Consumer

import java.util.concurrent.ConcurrentHashMap;

public class Consumer implements Runnable {
    protected ConcurrentHashMap<String, String> map;

    public Consumer(ConcurrentHashMap<String, String> map) {
        this.map = map;
    }

    public void run() {
        Thread currentThread = Thread.currentThread();
        while (!currentThread.isInterrupted()) {
            if (!map.isEmpty()) {
                for (String key : map.keySet()) {
                    System.out.println(map.remove(key));
                }
            }
        }
    }
}


Файл Producer

import java.util.concurrent.ConcurrentHashMap;

public class Producer implements Runnable
{
    private ConcurrentHashMap map;

    public Producer(ConcurrentHashMap map)
    {
        this.map = map;
    }

    @Override
    public void run()
    {
        int i = 1;
        try
        {
            while (true)
            {
                System.out.println(String.format("Some string for %d", i++));
                Thread.sleep(500);
            }
        }
        catch (InterruptedException e)
        {
            System.out.println(String.format("[%s] thread was terminated", Thread.currentThread().getName()));
        }
    }
}