task.task09.task0924 не понял условие задачи и не проходит проверку

Собственно, заголовок

package com.javarush.task.task09.task0924;

import java.util.ArrayList;

/* 
Страшная сказка
*/

public class Solution {

public static LittleRedRidingHood hood = new LittleRedRidingHood();
public static Grandmother grandmother = new Grandmother();
public static Patty patty = new Patty();
public static Woodman woodman = new Woodman();
public static Wolf wolf = new Wolf();

public static void main(String[] args) {
    Wolf.ate.add(grandmother);
    Wolf.ate.add(hood);
    Woodman.killed.add(wolf);
    
}

//красная шапочка
public static class LittleRedRidingHood extends StoryItem {
}

//бабушка
public static class Grandmother extends StoryItem {
}

//пирожек
public static class Patty extends StoryItem {
}

//дровосек
public static class Woodman extends StoryItem {
}

//волк
public static class Wolf extends StoryItem {
}

public static abstract class StoryItem {
    public static ArrayList<StoryItem> killed = new ArrayList<StoryItem>();
    public static ArrayList<StoryItem> ate = new ArrayList<StoryItem>();
}
}

В чем суть задания? Если суть задания в добавлении объектов в листы killed и ate в соответствии с сюжетом сказки, то почему задание не проходит проверку ни по одному из пунктов?
x: Метод main должен изменить состояние (внутренние переменные) объекта волк wolf и woodman, пирожки никто не ел, волк чуток поел, а потом волка убили.

Считаем кол-во слов world - ПРОШУ ПОМОЩИ

Ни в какую не хочет проходить тест((( В чем моя ошибка? Вот код с заданием:
package com.javarush.test.level19.lesson05.task02;

/* Считаем слово
Считать с консоли имя файла.
Файл содержит слова, разделенные знаками препинания.
Вывести в консоль количество слов "world", которые встречаются в файле.
Закрыть потоки. Не использовать try-with-resources
*/

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


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

        int counter = 0;

        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        BufferedReader fileReader = new BufferedReader(new FileReader(reader.readLine()));

        String[] words = fileReader.readLine().split("\\W+");

        for (int i = 0; i < words.length; i++) {
            if ("world".equals(words[i])) {
                counter++;
            }
        }

        System.out.println(counter);

        reader.close();
        fileReader.close();
    }
}

level18.lesson10.bonus02 не проходит тестирование?

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

Прайсы

CrUD для таблицы внутри файла. Считать с консоли имя файла для операций CrUD. Программа запускается со следующим набором параметров:

-c productName price quantity

Значения параметров:

где id — 8 символов.
productName — название товара, 30 chars (60 bytes).
price — цена, 8 символов. quantity — количество, 4 символа.

-c — добавляет товар с заданными параметрами в конец файла, генерирует id самостоятельно, инкрементируя максимальный id, найденный в файле.

В файле данные хранятся в следующей последовательности (без разделяющих пробелов): id productName price quantity Данные дополнены пробелами до их длины.

Пример:

19846 Шорты пляжные синие 159.00 12
198478 Шорты пляжные черные с рисунко173.00 17
19847983Куртка для сноубордистов, разм10173.991234

import java.io.*;
    import java.util.ArrayList;
    public class Solution {
    static String result = "";
    public static void main(String[] args) throws Exception {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String file = reader.readLine();
        reader.close();
        if (args.length==0 || args.length<4) return;
        if (args[0].equals("-c")){
            String new_id = makeId(file);
            String new_product = makeProduct(args[1]);
            String new_price = makePrice(args[2]);
            String new_quantity = makeQuantity(args[3]);
            result = new_id + new_product + new_price + new_quantity;
            FileWriter writer = new FileWriter(file,true);
            writer.write("\r\n" + result);
            writer.close();
        }
    }
    public static String makeId(String file)throws IOException{
        ArrayList<Integer> list = new ArrayList<Integer>();
        FileReader fr = new FileReader(file);
        BufferedReader reader = new BufferedReader(fr);
        String line = reader.readLine();
        while (line != null) {
            line = line.substring(0,8).trim();
            list.add(Integer.parseInt(line));
            line = reader.readLine();
        }
        int max = Integer.MIN_VALUE;
        for (Integer i:list)
            if (i>max)
                max = i;
        max++;
        String max_id = Integer.toString(max);
        if (max_id.length()>8)
            max_id = max_id.substring(0,8);
        if (max_id.length()<8)
            for (int i = max_id.length(); i < 8; i++)
                max_id = max_id + " ";
        fr.close();
        reader.close();
        return max_id;
    }
    public static String makeProduct(String product){
        String str = product;
        if (str.length()>30)
            str = str.substring(0,30);
        if (str.length()<30)
            for (int i = str.length(); i < 30; i++)
                str = str + " ";
        return str;
    }
    public static String makePrice(String price){
        String str = price;
        if (str.length()>8)
            str = str.substring(0,8);
        if (str.length()<8)
            for (int i = str.length(); i < 4; i++)
                str = str + " ";
        return str;
    }
    public static String makeQuantity(String quantity){
        String str = quantity;
        if (str.length()>4)
            str = str.substring(0,4);
        if (str.length()<4)
            for (int i = str.length(); i < 4; i++)
                str = str + " ";
        return str;
    }
 }
  • ,

Не проходит тестирование level10.lesson11.home09

Добрый день, коллеги!
Прошу направить в нужную сторону, перепробовал несколько вариантов решения, никак не могу пройти тестирование.

На мой взгляд метод отрабатывает корректно, ошибок не вижу (может они есть, но взгляд от задачи уже замылен).
Привожу текст метода, который заполнил и прошу помощи у сообщества.


/* Одинаковые слова в списке
Ввести с клавиатуры в список 20 слов. Нужно подсчитать количество одинаковых слов в списке.
Результат нужно представить в виде словаря Map<String, Integer>, где первый параметр – уникальная строка,
а второй – число, сколько раз данная строка встречалась в списке.
Вывести содержимое словаря на экран.
В тестах регистр (большая/маленькая буква) влияет на результат.
*/

public static Map<String, Integer> countWords(ArrayList<String> list)
    {
        HashMap<String, Integer> result = new HashMap<String, Integer>();

        //напишите тут ваш код
        for(String s : list)
        {
            int count = 0;
            if(!result.containsKey(s))
            {
                for (String s1 : list)
                {
                    if(s.equals(s1))
                    {
                        count++;
                    }
                }
            }
            if (count > 1)
            {
                result.put(s, count);
            }
        }
        return result;
    }

level06.lesson11.bonus02 (не проходит тестирование)

Всем доброго времени суток!
Не могу понять, почему не проходит тестирование.
Компилируется, вывод совпадает с условиями.
public class Solution
{
    public static void main(String[] args) throws IOException
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        String grandfatherName = reader.readLine();
        Cat catGrandFather = new Cat(grandfatherName);

        String grandmotherName = reader.readLine();
        Cat catGrandMother = new Cat(grandmotherName);

        String fatherName = reader.readLine();
        Cat catFather = new Cat(fatherName, null, catGrandFather);

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

        String sonName = reader.readLine();
        Cat catSon = new Cat(sonName, catMother, catFather);

        String daughterName = reader.readLine();
        Cat catDaughter = new Cat(daughterName, catMother, catFather);

        System.out.println(catGrandFather);
        System.out.println(catGrandMother);
        System.out.println(catFather);
        System.out.println(catMother);
        System.out.println(catSon);
        System.out.println(catDaughter);
    }

    public static class Cat
    {
        private String name;
        private Cat parent1;
        private Cat parent2;

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

        Cat(String name, Cat parent1, Cat parent2)
        {
            this.name = name;
            this.parent1 = parent1;
            this.parent2 = parent2;
        }


        @Override
        public String toString()
        {
            if (parent1 == null && parent2 == null)
                return "Cat name is " + name + ", no mother, no father";
            else if (parent1 == null)
                return "Cat name is " + name + ", no mother, father is " + parent2.name;
            else if (parent2 == null)
                return "Cat name is " + name + ", mother is " + parent1.name + ", no father";
            else
                return "Cat name is " + name + ", mother is " + parent1.name + ", father is " + parent2.name;
        }

    }
}
  • ,

com.javarush.test.level15.lesson12.home09

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

public class Solution {
public static void main(String[] args) throws Exception{
//Ответ
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String text=bufferedReader.readLine();
ArrayListlist=new ArrayList<>();
int index=text.indexOf("?");
boolean isStast=false;
for (int i = 0; i <text.length(); i++) {
if ( (text.charAt(i)=='&'||text.charAt(i)=='=')&&!isStast ) {
list.add(text.substring(index+1,i));
isStast=true;
}
if ((text.charAt(i)=='&')&&isStast) {
index=i;
isStast=false;
}
}
for (int i = 0; i <list.size(); i++) {
System.out.print(list.get(i)+" ");
}
System.out.println();
if (text.contains(«obj»))
{
index=text.indexOf("=");
int index2=text.indexOf("&");
String text2=text.substring(index+1,index2);
if (isTextNumber(text2)){
alert(Double.parseDouble(text2));
}
else
alert(text2);
}
//Конец ответа
}
//Проверяет число или текст
private static boolean isTextNumber(String text){
char[]arrayNumbers=new char[]{'1','2','3','4','5','6','7','8','9','0','.'};
boolean isNumber=true;
for (int i = 0; i <text.length()&&isNumber; i++) {
isNumber=false;
for (int j = 0; j <arrayNumbers.length; j++) {
if (text.charAt(i)==arrayNumbers[j]) {
isNumber=true;
}
}
}
return isNumber;
}

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

public static void alert(String value) {
System.out.println(«String » + value);
}
}
Не проходит но пример обрабатывает.
  • ,

Level08.Lesson11.Home05.

Не проходит тестирование, в среде запускается и работает исправно(пока не придумал нерабочий пример). Перед тем как реализовать через char массив, хотелось бы разобраться, почему этот вариант является нерабочим.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

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

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

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

public class Solution
{
    public static void main(String[] args) throws IOException
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String s = reader.readLine();
        String s1="";
        if(s.charAt(0)!=' ') s1=s1+ Character.toUpperCase(s.charAt(0));

             for (int i = 0; i <s.length()-1 ; i++)
            {
                if(s.charAt(i)==' '&&Character.isLowerCase(s.charAt(i+1))){
                    s1= s1+s.charAt(i)+Character.toUpperCase(s.charAt(i+1));
                    i++;
                }
                else s1=s1+s.charAt(i);
            }
            while(s1.length()<s.length())s1=s1+s.charAt(s1.length());
        System.out.println(s1);
        //напишите тут ваш код
    }


}

Не принимает решение - level06.lesson08.task05?

Добрый день!
Подскажите, что не так))

/* Класс StringHelper
Cделать класс StringHelper, у которого будут 2 статических метода:
String multiply(String s, int count) – возвращает строку повторенную count раз.
String multiply(String s) – возвращает строку повторенную 5 раз.
Пример:
Амиго -> АмигоАмигоАмигоАмигоАмиго
*/

public class StringHelper
{
public static String multiply(String s)
{
String result = "";
for (int i = 0; i <5; i++)
{
System.out.print(s);
}
//напишите тут ваш код
return result;
}

public static String multiply(String s, int count)
{
String result = "";
for (int i = 0; i <count; i++)
{
System.out.print(s);
}
//напишите тут ваш код
return result;
}
  • ,

test.level27.lesson15.big01 Задача 2

****************************************************************
Задание 2
1. Мы много работаем с консолью. Пора создать единую точку взаимодействия.
Создайте класс ConsoleHelper с единственным BufferedReader, через который будете работать с консолью.
Запомните, этот класс не хранит никаких данных и состояний, поэтому все методы будут статическими.
Создайте в нем три метода:
-writeMessage(String message) — для вывода message в консоль
-String readString() — для чтения строки с консоли
-ListgetAllDishesForOrder() — просит ползователя выбрать блюдо и добавляет его в список. Введенное '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

package com.javarush.test.level27.lesson15.big01.kitchen;

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

    public static String allDishesToString(){
        StringBuilder sb = new StringBuilder();
        for(Dish dish : Dish.values()){
            sb.append(dish.toString()+", ");
        }
        return sb.substring(0, sb.length()-2);
    }

}


Order

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.isEmpty())
            return "";
        else
            return "Your order: " + dishes + " of " + tablet;
    }
}


ConsoleHelper


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 {
    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 {
        List<Dish> dishes = new ArrayList<>();
        writeMessage("Please, choose the dish, in case to exit enter 'exit':");
        String dish;
        while(true){
            dish = readString();
            if(dish.equalsIgnoreCase("exit"))
                break;
            dishes.add(Dish.valueOf(dish));
        }
        return dishes;
    }
}


Restaurant

package com.javarush.test.level27.lesson15.big01;

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


Tablet

ackage 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;
    public static Logger logger = Logger.getLogger(Tablet.class.getName());

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

    public void createOrder(){
        try {
            Order 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 + "}";
    }
}
  • ,

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

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

import sun.text.bidi.BidiBase;

import java.io.*;

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

public class Solution
{
public static void main(String[] args) throws Exception
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int maximum = 0;
int[] massive;
int max = Integer.parseInt(reader.readLine());
if (max > 0)
{
massive = new int[max];
}
else
{
return;
}
int z = massive.length;
for (int i = 0; i < z; i++) {
massive[i] = Integer.parseInt(reader.readLine());
if(massive[i] > max) {
maximum = massive[i];
}
}

System.out.println(maximum);
}
}

На моём компе решается… а тестирование не проходит… почему?
  • ,

level08.lesson11.home05

Добрый день.
Есть задача:
package com.javarush.test.level08.lesson11.home05;

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

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

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

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

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

        //напишите тут ваш код
        String[] splited = s.split(" ");
        String newString = "";
        for (int i = 0; i < splited.length; i++)
        {
            char ch = splited[i].charAt(0);
            char chUpper = splited[i].toUpperCase().charAt(0);
            String strCh = "" + ch;
            String strChUp = "" + chUpper;
            splited[i] = splited[i].replaceFirst(strCh, strChUp);
            newString = newString + splited[i] + " ";
        }
        newString = newString.trim();

        System.out.println(newString);
    }
}

В IDEA работает всё прекрасно, но не проходит тестирование. Подскажите, пожалуйста, что посмотреть?

P.S. ещё раз почитал комментарии и сделал вывод, что данную задачу нельзя решать через split, потому что не спроста указано много пробелов в вводе и выводе, так? Надо решать обязательно через toCharArray()?

level29.lesson15.big01 Задание 12

Задание 12.


12.1. Объединение условных операторов.
12.1.1. Добавь внутренний метод, сообщающий, могут ли быть перевезены пассажиры
boolean canPassengersBeTransferred() в класс Car. Метод должен возвращать true, если
водитель доступен isDriverAvailable и есть топливо fuel.
12.1.2. Перепиши метод getNumberOfPassengersCanBeTransferred(), объединив условные
операторы (используй метод canPassengersBeTransferred()).
12.2. Объединение дублирующихся фрагментов в условных операторах. Перепиши метод
startMoving(), чтобы в нем не было повторяющихся вызовов функций.
12.3. Замена магического числа символьной константой. Замени магические числа в методе
getMaxSpeed() на константные переменные метода: MAX_TRUCK_SPEED,
MAX_SEDAN_SPEED и MAX_CABRIOLET_SPEED.
12.4. Замена условного оператора полиморфизмом.
12.4.1. Переопредели метод getMaxSpeed() в подклассах, избавившись от условного
оператора.
12.4.2. Метод getMaxSpeed() в классе Car сделай абстрактным.

Подскажите что не так, вроде все по условию

public abstract class Car {
    static public final int TRUCK = 0;
    static public final int SEDAN = 1;
    static public final int CABRIOLET = 2;


    double fuel;

    public double summerFuelConsumption;
    public double winterFuelConsumption;
    public double winterWarmingUp;

    private int type;

    private boolean driverAvailable;
    private int numberOfPassengers;

    public Car(int type, int numberOfPassengers) {
        this.type = type;
        this.numberOfPassengers = numberOfPassengers;
    }
    public static Car create(int type, int numberOfPassengers) {
        switch (type){
            case TRUCK : return new Truck(numberOfPassengers);
            case SEDAN : return new Sedan(numberOfPassengers);
            case CABRIOLET : return new Cabriolet(numberOfPassengers);
            default: return null;

        }
    }

    public void fill(double numberOfLiters) throws Exception
    {

            if (numberOfLiters < 0)
            {
                throw new Exception();
            }
                fuel += numberOfLiters;
    }

    private boolean canPassengersBeTransferred() {
        if(isDriverAvailable() && fuel > 0) return true;
        else return false;
    }
    public boolean isSummer(Date date , Date summerStart, Date summerEnd) {
        return date.after(summerStart) && date.before(summerEnd);
    }
    public double getWinterConsumption(int length) {
        return length * winterFuelConsumption + winterWarmingUp;
    }
    public double getSummerConsumption(int length) {
        return length * summerFuelConsumption;
    }

    public double getTripConsumption(Date date, int length, Date SummerStart, Date SummerEnd)
    {
        double consumption;

        if(!isSummer(date, SummerStart, SummerEnd)) {
            consumption = getWinterConsumption(length);
        }
        else {
            consumption = getSummerConsumption(length);
        }
        return consumption;
    }

    public int getNumberOfPassengersCanBeTransferred() {
        if (!canPassengersBeTransferred()) return 0;
        return numberOfPassengers;
    }

    public boolean isDriverAvailable() {
        return driverAvailable;
    }

    public void setDriverAvailable(boolean driverAvailable) {
        this.driverAvailable = driverAvailable;
    }

    public void startMoving() {

        if (numberOfPassengers > 0) {
            fastenPassengersBelts();
        }
        fastenDriverBelt();
    }

    public void fastenPassengersBelts() {
    }

    public void fastenDriverBelt() {
    }

    public abstract int getMaxSpeed();
}


public class Truck extends Car
{

    public Truck(int numberOfPassengers)
    {
        super(Car.TRUCK, numberOfPassengers);
    }

    @Override
    public int getMaxSpeed() {
    final int MAX_TRUCK_SPEED = 80;
    return MAX_TRUCK_SPEED;
}
}


public class Sedan extends Car
{
    protected Sedan(int numberOfPassengers)
    {
        super(Car.SEDAN, numberOfPassengers);
    }

    @Override
    public int getMaxSpeed()
    {
        final int MAX_SEDAN_SPEED = 120;
        return MAX_SEDAN_SPEED;
    }
}


public class Cabriolet extends Car
{
    public Cabriolet(int numberOfPassengers)
    {
        super(Car.CABRIOLET, numberOfPassengers);
    }

    @Override
    public int getMaxSpeed()
    {
        final int MAX_CABRIOLET_SPEED = 90;
        return MAX_CABRIOLET_SPEED;
    }
}