import java.util.*;
public class MyTree
{
private List<Node> lst = new ArrayList<Node>();
class Node
{
String data;
String parent;
}
public void add(String parent, String child)
{
Node t = new Node();
t.data = child;
t.parent = parent;
lst.add(t);
}
public String getParent(String x)
{
for(int i=0; i<lst.size(); i++){
if(lst.get(i).data.equals(x)) return lst.get(i).parent;
}
return null;
}
public List<String> getChild(String x)
{
List<String> t = new ArrayList<String>();
for(int i=0; i<lst.size(); i++){
if(lst.get(i).parent.equals(x)) t.add(lst.get(i).data);
}
第二个
package a;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class MyMenu {
MyTree my=new MyTree();
public void add(String parent,String child){
// Node node=new Node();
// node.data=child;
// node.parent=parent;
// lst.add(node);
my.add(parent, child);
}
public String go(String x){
Scanner sc=new Scanner(System.in);
for(;;){
List<String> list=my.getChild(x);
if(list.isEmpty()) return x;
for(int i=0;i<list.size();i++){
System.out.println(i+"."+list.get(i));
}
System.out.println("2.返回上一级");
System.out.println("--------------");
System.out.print("请输入选择:");
String c=sc.nextLine();
if(c.equals("2")){
String v=my.getParent(x);
if(v!=null) x=v;
continue ;
}
try {
int c1 = Integer.parseInt(c);
String x1=list.get(c1);
x=x1;
} catch (Exception e) {
System.out.println("请重新选择:");
}
}
}
public static void main(String[] args) {
MyMenu my=new MyMenu();
my.add("水果","苹果");
my.add("水果","香蕉");
my.add("苹果","红苹果");
my.add("苹果","绿苹果");
my.add("香蕉","小香蕉");
my.add("香蕉","大香蕉");
// for(int i=0;i<my.lst.size();i++){
// System.out.println(my.lst.get(i).data);
// }
String c=my.go("水果");
System.out.print("您选择了:"+c);
}
}