|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.08.2018, 08:44 | #1 |
Форумчанин
Регистрация: 24.07.2018
Сообщений: 133
|
про Datatype
Ребята я написала код структуры данных (иерархия) нужно было создать класс "Tree " с datattpe (string (можно было object добавлять))
с функциями add, remove, search, iterate посмотрите код я правильно написала если нет можете подправить)? Код:
|
14.08.2018, 08:56 | #2 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Цитата:
—> нет.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
|
14.08.2018, 08:58 | #3 |
Форумчанин
Регистрация: 24.07.2018
Сообщений: 133
|
можете помочь исправить(
|
14.08.2018, 09:13 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Что исправить то? Вы задание прочитайте - вам надо реализовать 4 функции. Вы ни одну не реализовали.
|
15.08.2018, 07:18 | #5 |
Форумчанин
Регистрация: 24.07.2018
Сообщений: 133
|
Посмотрите правильно ли я реализовала?
Main.java:
package tree; public class Main { public static void main(String[] args) { Node node = new Node("name", null, 0L); int foundForName = node.findByName("name").size(); int foundForName1 = node.findByName("name1").size(); System.out.println("found for name - " + foundForName); System.out.println("found for name1 - " + foundForName1); Tree tree = new Tree("name", null); tree.add(node); int foundForNameInTree = tree.findByName("name").size(); System.out.println("found for name in tree - " + foundForNameInTree); Tree tree2 = new Tree("name", null); tree2.add(node); tree.add(tree2); int foundForNameInTree2 = tree.findByName("name").size(); System.out.println("found for name in tree 2 - " + foundForNameInTree2); } } Entry.java: package tree; import java.util.*; public abstract class Entry { private final Tree parent; private String name; public Entry(String name, Tree parent) { this.name = name; this.parent = parent; } public boolean delete() { if (parent == null) { return false; } return parent.remove(this); } public abstract long size(); public String getFullPath() { if (parent == null) { return name; } else { return parent.getFullPath() + "/" + name; } } public void changeName(String newName) { this.name = newName; } public String getName() { return name; } public List<Entry> findByName(final String name) { final List<Entry> result = new ArrayList<Entry>(); final Queue<Entry> allFiles = new LinkedList<Entry>(); allFiles.add(this); while (!allFiles.isEmpty()) { final Entry localEntry = allFiles.poll(); if (localEntry instanceof Tree) { final List<Entry> files = ((Tree) localEntry).iterate(); for (final Entry innerFile : files) { if (innerFile instanceof Tree) { allFiles.add(innerFile); } else if (innerFile.getName().equals(name)) { result.add(innerFile); } } } else if (localEntry.getName().equals(name)) { result.add(localEntry); } } return result; } } Node.java: package tree; public class Node extends Entry { private final java.io.ByteArrayOutputStream stream; private final long size; public Node(String name, Tree parent, long size) { super(name, parent); this.size = size; this.stream = new java.io.ByteArrayOutputStream(); } public long size() { return size; } public byte[] getContents() { return stream.toByteArray(); } public void setContents(byte[] content) { this.stream.write(content, 0, content.length); } } Tree.java: package tree; import java.util.ArrayList; import java.util.List; public class Tree extends Entry { private final List<Entry> contents; public Tree(String name, Tree tree) { super(name, tree); contents = new ArrayList<Entry>(); } protected List<Entry> iterate() { return contents; } public long size() { long size = 0; for (final Entry entry : contents) { size += entry.size(); } return size; } public boolean remove(Entry entry) { return contents.remove(entry); } public void add(Entry entry) { contents.add(entry); } } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Топик НЕ про политику, а про розовые миры в наших головах | rpy3uH | Свободное общение | 30 | 11.02.2015 09:38 |
Негативные анекдоты про Россию и про всё в ней происходящее... Ваше мнение? | Вадим Мошев | Свободное общение | 16 | 26.09.2011 08:02 |
[Turbo Pascal] - задачи про подбрасывание монеты и про определение истины. | Sent Tools | Помощь студентам | 10 | 28.10.2010 18:11 |
выставить в DataType | Михаил Юрьевич | БД в Delphi | 2 | 28.12.2008 17:40 |
У меня вопрос про базы данных,а точнее про таблицы!!! | Alexij | Общие вопросы Delphi | 1 | 13.04.2008 23:24 |