1.数据类。2.菜单类。3.显示,添加类。4.测试类 运行测试类后,把数据类的数组传给了菜单类中的数组.如果要进入3功能时候前,先把菜单类的数组传送给 3类中的数组.进入3类 在3类运行完后把3类中的数据返回给2类。
启动主菜单类,
进入功能类显示修改前数组的内容,
返回主菜单,
进入功能类个修改数组内容,
返回主菜单类,
进入功能类显示修改后数组的内容 请指出我错在哪谢谢
----------------------------------------------------------------------------------------------
public class Test {
public static void main(String[] args) {
Data data =new Data(); //数据类的对象
data.init(); //初始化数据
Menu menu=new Menu(); //menu类的对象
menu.setData(data.name, data.sex, data.age); //把Data类的数组对象传到Menu类方法中
menu.menu(); //启动开始菜单
}
}
---------------------------------------------------------------------------------------------------
import java.util.*;
public class Menu {
ShowAdd SA= new ShowAdd(); //ShowAdd功能类的对象
String name[]; String sex[]; int age[];
/**
* 1 接收main传送过来的data的数组-----------本地
* 2 也要接收ShowAdd传送过来的数组----本地
*/
public void setData(String[] name1, String[] sex1, int[] age1) { //接受mian传过来的数组放到本类的
name=name1; //数组中
sex=sex1;
age=age1;
}
/**
* 主菜单
*/
public void menu(){
System.out.println("1.显示 2.添加");
System.out.println("Menu类中数组");
System.out.println(name[0] + "\t\t" + sex[0] + "\t\t" + age[0]);
System.out.println(name[1] + "\t\t" + sex[1] + "\t\t" + age[1]);
Scanner input = new Scanner(System.in);
int xxx=input.nextInt();
switch (xxx) {
case 1:
SA.setData(name, sex, age); //传送本类数据------------ShowAdd类
SA.Show();
break;
case 2:
SA.setData(name, sex, age); //传送本类数据------------ShowAdd类
SA.Add();
break;
default:
break;
}
}
}
-----------------------------------------------------------------------------------------------
import java.util.*;
public class ShowAdd { String name[]; String sex[]; int age[];
/**
* 接收menu----本地
*/
public void setData(String[] name1, String[] sex1, int[] age1) { // 接收主菜单类传过来的数组 name = name1; // 存入到本类中
sex = sex1;
age = age1;
}
/**
* 显示所有
*/
public void Show() {
Menu menu = new Menu();
Scanner input = new Scanner(System.in);
System.out.println(name[0] + "\t\t" + sex[0] + "\t\t" + age[0]);
System.out.println(name[1] + "\t\t" + sex[1] + "\t\t" + age[1]);
menu.setData(name, sex, age); //把本地改动过的数组传回主菜单
System.out.println("输入一个字母返回主菜单");
input.next();
returnMenu();
}
/**
* 添加新用户
*/
public void Add() {
Menu menu = new Menu();
/*新数据输入第一个空位置*/
int index=-1;
for (int i=0;i<name.length;i++){
index=i;
if (name==null){
break;
}
}
Scanner input = new Scanner(System.in);
System.out.println("请输入新用户名:\t");
System.out.print("名字:\t");
String newName=input.next();
System.out.print("性别:\t");
String newSex=input.next();
System.out.print("年龄:\t");
int newAge=input.nextInt();
name[1]=newName;
sex[1]=newSex;
age[1]=newAge;
System.out.println("********添加后*********");
System.out.println(name[0] + "\t\t" + sex[0] + "\t\t" + age[0]);
System.out.println(name[1] + "\t\t" + sex[1] + "\t\t" + age[1]);
menu.setData(name, sex, age); //把本地改动过的数组传回主菜单
System.out.println("输入一个字母返回主菜单");
input.next();
returnMenu();
}
public void returnMenu(){
Menu menu = new Menu(); menu.menu();
}}
--------------------------------------------------------------------------------------------
public class Data {
String name[]=new String[5]; String sex[]=new String[5]; int age[]=new int[5]; public void init() {
name[0] = "王书波";
sex[0] = "男";
age[0] = 32; }
}
--------------------------------------------------------------------------
谢谢哥哥,姐姐们。。帮帮我~~
启动主菜单类,
进入功能类显示修改前数组的内容,
返回主菜单,
进入功能类个修改数组内容,
返回主菜单类,
进入功能类显示修改后数组的内容 请指出我错在哪谢谢
----------------------------------------------------------------------------------------------
public class Test {
public static void main(String[] args) {
Data data =new Data(); //数据类的对象
data.init(); //初始化数据
Menu menu=new Menu(); //menu类的对象
menu.setData(data.name, data.sex, data.age); //把Data类的数组对象传到Menu类方法中
menu.menu(); //启动开始菜单
}
}
---------------------------------------------------------------------------------------------------
import java.util.*;
public class Menu {
ShowAdd SA= new ShowAdd(); //ShowAdd功能类的对象
String name[]; String sex[]; int age[];
/**
* 1 接收main传送过来的data的数组-----------本地
* 2 也要接收ShowAdd传送过来的数组----本地
*/
public void setData(String[] name1, String[] sex1, int[] age1) { //接受mian传过来的数组放到本类的
name=name1; //数组中
sex=sex1;
age=age1;
}
/**
* 主菜单
*/
public void menu(){
System.out.println("1.显示 2.添加");
System.out.println("Menu类中数组");
System.out.println(name[0] + "\t\t" + sex[0] + "\t\t" + age[0]);
System.out.println(name[1] + "\t\t" + sex[1] + "\t\t" + age[1]);
Scanner input = new Scanner(System.in);
int xxx=input.nextInt();
switch (xxx) {
case 1:
SA.setData(name, sex, age); //传送本类数据------------ShowAdd类
SA.Show();
break;
case 2:
SA.setData(name, sex, age); //传送本类数据------------ShowAdd类
SA.Add();
break;
default:
break;
}
}
}
-----------------------------------------------------------------------------------------------
import java.util.*;
public class ShowAdd { String name[]; String sex[]; int age[];
/**
* 接收menu----本地
*/
public void setData(String[] name1, String[] sex1, int[] age1) { // 接收主菜单类传过来的数组 name = name1; // 存入到本类中
sex = sex1;
age = age1;
}
/**
* 显示所有
*/
public void Show() {
Menu menu = new Menu();
Scanner input = new Scanner(System.in);
System.out.println(name[0] + "\t\t" + sex[0] + "\t\t" + age[0]);
System.out.println(name[1] + "\t\t" + sex[1] + "\t\t" + age[1]);
menu.setData(name, sex, age); //把本地改动过的数组传回主菜单
System.out.println("输入一个字母返回主菜单");
input.next();
returnMenu();
}
/**
* 添加新用户
*/
public void Add() {
Menu menu = new Menu();
/*新数据输入第一个空位置*/
int index=-1;
for (int i=0;i<name.length;i++){
index=i;
if (name==null){
break;
}
}
Scanner input = new Scanner(System.in);
System.out.println("请输入新用户名:\t");
System.out.print("名字:\t");
String newName=input.next();
System.out.print("性别:\t");
String newSex=input.next();
System.out.print("年龄:\t");
int newAge=input.nextInt();
name[1]=newName;
sex[1]=newSex;
age[1]=newAge;
System.out.println("********添加后*********");
System.out.println(name[0] + "\t\t" + sex[0] + "\t\t" + age[0]);
System.out.println(name[1] + "\t\t" + sex[1] + "\t\t" + age[1]);
menu.setData(name, sex, age); //把本地改动过的数组传回主菜单
System.out.println("输入一个字母返回主菜单");
input.next();
returnMenu();
}
public void returnMenu(){
Menu menu = new Menu(); menu.menu();
}}
--------------------------------------------------------------------------------------------
public class Data {
String name[]=new String[5]; String sex[]=new String[5]; int age[]=new int[5]; public void init() {
name[0] = "王书波";
sex[0] = "男";
age[0] = 32; }
}
--------------------------------------------------------------------------
谢谢哥哥,姐姐们。。帮帮我~~
Menu类中数组
王书波 男 32
null null 0
[/code]以上是我运行你这段代码的结果,没有报错啊
王书波 男 32
null null 0
楼上没有显示
Menu menu = new Menu();
menu.setData(name, sex, age);
menu.menu(); 别的地方的这些都删了就好了。要自己结贴去了。