Solution.java
package com.javarush.test.level13.lesson11.bonus02; import java.util.ArrayList; import java.util.List; /* Репка Сказка Репка: 1. Реализовать интерфейс RepkaItem в классе Person. 2. В классе Person реализовать метод pull(Person person), который выводит фразу типа '<name> за <person>'. Пример: Бабка за Дедку Дедка за Репку 3. Исправить логическую ошибку цикла в методе tell класса RepkaStory. 4. Выполнить метод main и наслаждаться сказкой! */ public class Solution { public static void main(String[] args) { List<Person> plot = new ArrayList<Person>(); plot.add(new Person("Репка", "Репку")); plot.add(new Person("Дедка", "Дедку")); plot.add(new Person("Бабка", "Бабку")); plot.add(new Person("Внучка", "Внучку")); RepkaStory.tell(plot); } }
RepkaStory.java
package com.javarush.test.level13.lesson11.bonus02; import java.util.List; public class RepkaStory { static void tell(List<Person> items) { Person first; Person second; for (int i = items.size() - 1; i > 0; i--) { first = items.get(i); second = items.get(i -1); first.pull(second); } } }
Person.java
package com.javarush.test.level13.lesson11.bonus02; public class Person implements RepkaItem { private String name; private String namePadezh; public Person(String name, String namePadezh) { this.name = name; this.namePadezh = namePadezh; } @Override public String getNamePadezh() { return null; } public void pull(Person person) { System.out.println(name + " за " + person.namePadezh); } }
RepkaItem.java
package com.javarush.test.level13.lesson11.bonus02; public interface RepkaItem { public String getNamePadezh(); }
Leave A Comment