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, пирожки никто не ел, волк чуток поел, а потом волка убили.

5 комментариев

zip2004zip
а задание то какое?
и судя по коду вы добавляли строки в main? если так то смотрите ошибки там.
мысль у вас правильная, все написано хорошо, но переменные не такие, смотрите регистр некоторых букв
Lada_Beslan
Вот условие задания:
1. Есть пять классов: красная шапочка, бабушка, пирожок, дровосек, волк.
2. У каждого класса есть 2 поля: убил (killed ArrayList) и съел (ate ArrayList).
3. Необходимые объекты созданы (hood, grandmother, …).
4. Расставь правильно связи, кто кого съел и убил, чтобы получилась логика сказки «Красная Шапочка».

PS: пирожки никто не ел. Их только несли. Волк чуток поел. А его потом убили.

По канону сказки сначала волк съел бабушку, потом волк съел красную шапочку, потом охотник убил волка.
То есть сначала я в лист ate в классе Wolf записываю grandmother(бабушку) и hood (кр шапочку), так как волк съел их, а потом в лист killed класса Woodman записываю wolf(волка), так как охотник убил волка. Все логично. В мейн я строки добавлял потому что ОН должен изменять состояние объекта.

А с переменными проблем нет, иначе компилятор бы не принимал(даже испробовал методом научного тыка).
Может у меня логика не такая, не знаю…
zip2004zip
измени в main большие буквы на маленькие
AlexSir
  • AlexSir
  • 0
  • Комментарий отредактирован 2017-03-02 09:01:56 пользователем AlexSir
Ошибка кроется в:

public static ArrayList
Вы создаете два статических листа. И строка
Wolf.ate.add(grandmother);
равносильна Woodman.ate.add(grandmother)
Lada_Beslan
Спасибо!

Задача успешно прошла тестирование!

Вы решили задачу с 8 попытки
Среднее количество попыток для этой задачи — 2.79
Ваша награда: x5

Правда, листы изначально были статическими, но я убрал статик и поменял регистр.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.