java实现节点循环菜单
来源:互联网 发布:压缩解压软件 mac版 编辑:程序博客网 时间:2024/05/12 18:33
package com.zhangle.arithmetic;
import java.util.Scanner;
public class ReTalkMenu {
private String data;
private ReTalkMenu father;
private ReTalkMenu left;
private ReTalkMenu right;
private ReTalkMenu child;
public ReTalkMenu(String x) {
data=x;
}
public void goShow(ReTalkMenu x) {
Scanner scanner = new Scanner(System.in);
int z=0;
for (;;) {
System.out.println("-----------");
ReTalkMenu temp=x.child;
while(x.child!=null){
System.out.println(z+"、"+x.child.data);
x.child=x.child.right;
z++;
}
System.out.println("u.请返回上一级");
System.out.println("m.返回主菜单");
System.out.println("e.退出整个系统");
System.out.println("-----------");
System.out.println("请输入选择:");
String string = scanner.nextLine();
if (string.equals("u")) {
}
if (string.equals("e")) {
System.exit(0);
}
if (string.equals("m")) {
}
int i = Integer.parseInt(string);
for (int j = 0; j < i+1; j++) {
x=temp.child;
}
if (i==0) {
x=temp;
}
goShow(x);
}
}
public void appendChild(String child) {
ReTalkMenu p=this;
while (p.child!=null) {
p=p.child;
}
p.child=new ReTalkMenu(child);
}
public void appendBrother(String brother) {
ReTalkMenu p=this;
while (p.left!=null) {
p=p.left;
}
p.left=new ReTalkMenu(brother);
}
public void appendLittle(String little) {
ReTalkMenu p=this;
while (p.right!=null) {
p=p.right;
}
p.right=new ReTalkMenu(little);
}
/**
* @param args
*/
public static void main(String[] args) {
// 创建菜单对象
ReTalkMenu rtm=new ReTalkMenu("水果");
rtm.appendChild("苹果");
rtm.child.appendLittle("香蕉");
rtm.child.right.appendLittle("梨子");
rtm.child.appendChild("红富士苹果");
rtm.child.child.appendLittle("国光苹果");
rtm.child.child.right.appendChild("富强1号");
rtm.child.child.right.child.appendLittle("富强2号");
System.out.println("水果甩卖");
rtm.goShow(rtm);//界面不应该是水果和苹果在同一级别
}
}
import java.util.Scanner;
public class ReTalkMenu {
private String data;
private ReTalkMenu father;
private ReTalkMenu left;
private ReTalkMenu right;
private ReTalkMenu child;
public ReTalkMenu(String x) {
data=x;
}
public void goShow(ReTalkMenu x) {
Scanner scanner = new Scanner(System.in);
int z=0;
for (;;) {
System.out.println("-----------");
ReTalkMenu temp=x.child;
while(x.child!=null){
System.out.println(z+"、"+x.child.data);
x.child=x.child.right;
z++;
}
System.out.println("u.请返回上一级");
System.out.println("m.返回主菜单");
System.out.println("e.退出整个系统");
System.out.println("-----------");
System.out.println("请输入选择:");
String string = scanner.nextLine();
if (string.equals("u")) {
}
if (string.equals("e")) {
System.exit(0);
}
if (string.equals("m")) {
}
int i = Integer.parseInt(string);
for (int j = 0; j < i+1; j++) {
x=temp.child;
}
if (i==0) {
x=temp;
}
goShow(x);
}
}
public void appendChild(String child) {
ReTalkMenu p=this;
while (p.child!=null) {
p=p.child;
}
p.child=new ReTalkMenu(child);
}
public void appendBrother(String brother) {
ReTalkMenu p=this;
while (p.left!=null) {
p=p.left;
}
p.left=new ReTalkMenu(brother);
}
public void appendLittle(String little) {
ReTalkMenu p=this;
while (p.right!=null) {
p=p.right;
}
p.right=new ReTalkMenu(little);
}
/**
* @param args
*/
public static void main(String[] args) {
// 创建菜单对象
ReTalkMenu rtm=new ReTalkMenu("水果");
rtm.appendChild("苹果");
rtm.child.appendLittle("香蕉");
rtm.child.right.appendLittle("梨子");
rtm.child.appendChild("红富士苹果");
rtm.child.child.appendLittle("国光苹果");
rtm.child.child.right.appendChild("富强1号");
rtm.child.child.right.child.appendLittle("富强2号");
System.out.println("水果甩卖");
rtm.goShow(rtm);//界面不应该是水果和苹果在同一级别
}
}
0 0
- java实现节点循环菜单
- Java实现循环链表之节点类
- Activiti 实现节点的循环
- java实现树的添加和取父节点,子节点;聚合树,实现选项菜单功能
- java实现的可以无限级别添加子节点的菜单树
- 无限循环菜单列表的实现
- java树形菜单实现
- Java实现循环队列
- 循环数组java实现
- java实现循环队列
- java实现循环队列
- 循环队列java实现
- java实现循环队列
- java实现循环列队
- java实现循环单链表
- Java实现循环单链表
- java 实现节点链表
- Zookeeper 节点管理 Java实现
- 足球历史上最成功的教练之一
- 关于为什么大家都说C++语言难
- HTML5学习资源
- android经典面试题集锦
- CF 407A - Triangle
- java实现节点循环菜单
- ios推送服务通知
- 2014年阿里武汉实习生招聘笔试题
- MFC自定义消息
- C++开源项目
- sublime开启vim模式
- 2.多语言的对比
- TI DSP XDS510 USB仿真器安装问题
- poj 3461 kmp