Не знаю, может боян, но меня сегодня такая идея посетила :)
abstract class Node extends RuntimeException {
}
class Leaf extends Node {
public final String value;
public Leaf(String value) {
this.value = value;
}
}
class BNode extends Node {
public final Node left;
public final Node right;
public BNode(Node left, Node right) {
this.left = left;
this.right = right;
}
}
public class Main {
public static void walk(Node node, StringBuffer buf) {
try {
throw node;
} catch (Leaf n) {
buf.append(n.value);
} catch (BNode n) {
walk(n.left, buf);
walk(n.right, buf);
}
}
public static void main(String[] args) {
Node node =
new BNode(new Leaf("1"),
new BNode(new BNode(new Leaf("2"),
new Leaf("3")),
new Leaf("4")));
StringBuffer sb = new StringBuffer();
walk(node, sb);
System.out.println(sb);
}
}


Ответ на:
комментарий
от Deady


Ответ на:
комментарий
от phasma
Ответ на:
комментарий
от dmiceman
Ответ на:
комментарий
от vilfred
Ответ на:
комментарий
от Legioner

Ответ на:
комментарий
от Legioner

Ответ на:
комментарий
от vilfred



Ответ на:
комментарий
от Legioner
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Visitor Pattern - почему так не принято его реализовать? (2012)
- Форум [java]finalize (2008)
- Форум Прикольная задачка. Решите? (2010)
- Форум Json туда и обратно (2017)
- Форум static пример из книги (2020)
- Форум Экспериментальная фича: подсветка синтаксиса языков программирования (2009)
- Форум java, try-resourses block demo -> unreportedException java.io.IOException (2016)
- Форум java :( (2013)
- Форум cli args in java (2008)
- Форум Java (2003)