Вопрос пользователя:
Ответ нейросети:
import java.util.ArrayList;
import java.util.List;
class Person {
private String name;
private int age;
private List<Person> children;
public Person(String name, int age) {
this.name = name;
this.age = age;
this.children = new ArrayList<>();
}
public void addChild(Person child) {
children.add(child);
}
public List<Person> getChildren() {
return children;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
class GenealogyTree {
private Person root;
public GenealogyTree(Person root) {
this.root = root;
}
public List<Person> getChildrenOfPerson(String name) {
List<Person> children = new ArrayList<>();
findChildren(root, name, children);
return children;
}
private void findChildren(Person currentPerson, String name, List<Person> children) {
if (currentPerson.getName().equals(name)) {
children.addAll(currentPerson.getChildren());
return;
}
for (Person child : currentPerson.getChildren()) {
findChildren(child, name, children);
}
}
}
public class GenealogyResearchApp {
public static void main(String[] args) {
Person grandparent = new Person("Grandparent", 70);
Person parent1 = new Person("Parent 1", 40);
Person parent2 = new Person("Parent 2", 35);
Person child1 = new Person("Child 1", 10);
Person child2 = new Person("Child 2", 8);
grandparent.addChild(parent1);
grandparent.addChild(parent2);
parent1.addChild(child1);
parent2.addChild(child2);
GenealogyTree tree = new GenealogyTree(grandparent);
List<Person> childrenOfParent1 = tree.getChildrenOfPerson("Parent 1");
System.out.println("Children of Parent 1:");
for (Person child : childrenOfParent1) {
System.out.println(child.getName());
}
}
}
Это пример реализации приложения для проведения исследований с генеалогическим древом на языке Java с использованием ООП подхода. В приложении создаются объекты класса Person, представляющие людей, и объект класса GenealogyTree, представляющий генеалогическое древо. Метод getChildrenOfPerson позволяет получить всех детей выбранного человека.
Напишите нам, если в вопросе есть ваши персональные данные ([email protected])
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.