自定义结构---通用菜单
来源:互联网 发布:金蝶进销存源码 编辑:程序博客网 时间:2024/05/22 02:12
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);
}
}
- 自定义结构---通用菜单
- MPI 自定义通用结构和传输
- 自定义php通用树形结构类
- 通用菜单
- Console通用菜单程序设计
- 通用的二级菜单
- 自定义菜单
- 自定义菜单
- 自定义菜单
- 自定义菜单
- 自定义菜单
- 自定义菜单
- 自定义菜单
- 通用结构复制函数
- 数据结构-通用结构
- 通用数据存储结构
- 通用的标准版下拉菜单
- 通用3级联动菜单
- [小白学iOS编程03]UIPickerView控件学习_省市联动
- box-shadow 添加阴影效果Css3
- zepto开发中踩到的坑(持续更新)
- TQ2440裸奔三部曲 总结纠错(转)
- 棋盘覆盖问题 分治法的典型应用
- 自定义结构---通用菜单
- 数字视频编解码基础知识大全
- 前缀判断
- leetcode 4 -- Median of Two Sorted Arrays
- centos7.1(1503)解决无法读取ntfs格式问题
- 龙格-库塔(Runge-Kutta)方法数学原理及实现
- [leetcode][list] Intersection of Two Linked Lists
- 4G百科:LTE-FDD和LTE-TDD的区别(科普性)
- Swift学习之每日一tip (6) 单例