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