有参构造器、无参构造器都有,get、set方法也有,返回值也有,但是得不到数组的返回值
参数构造器
public class Menu {
String name;
String typeOfWork;
int six;
int age;
Menu[] staff = new Menu[100];
int count = 0;
//无参构造器
public Menu() {
}
public Menu(String name, String typeOfWork, int six, int age, Menu[] staff, int count) {
this.name = name;
this.typeOfWork = typeOfWork;
this.six = six;
this.age = age;
this.staff = staff;
this.count = count;
}
//get\set方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTypeOfWork() {
return typeOfWork;
}
public void setTypeOfWork(String typeOfWork) {
this.typeOfWork = typeOfWork;
}
public int getSix() {
return six;
}
public void setSix(int six) {
this.six = six;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Menu[] getStaff() {
return staff;
}
public void setStaff(Menu[] staff) {
this.staff = staff;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public String toString(int i) {
return "员工{" +
"姓名='" + name + '\'' +
", 工种='" + typeOfWork + '\'' +
", 性别=" + six +
", 年龄=" + age +
'}';
}
}
Add方法给数组添加数据
import java.util.Scanner;
public class Add {
//新增员工
static Menu[] add() {
//调用Scanner类
Scanner scanner = new Scanner(System.in);
Menu menu = new Menu();
for (int i = menu.count; i <= menu.staff.length; i++) {
if (menu.staff[i] == null) {
//提示
System.out.println("请输入员工姓名");
menu.setName(scanner.next());
System.out.println("请输入员工工种");
menu.setTypeOfWork(scanner.next());
System.out.println("请输入员工性别(男:1 | 女:2)");
menu.setSix(scanner.nextInt());
System.out.println("请输入员工年龄");
menu.setAge(scanner.nextInt());
//将数据存入数组
menu.staff[i] = menu;
System.out.println(menu.toString(i));
System.out.println("您是否退出操作。(y | n)");
String next = scanner.next();
if (next.equals("y"))
return menu.staff;
} else {
System.out.println("添加失败,目前员工人数已满" + menu.count);
break;
}
}
return menu.staff;
}
}
主函数
import java.util.Scanner;
public class RunInterface {
public static void main(String[] args) {
////调用Scanner类
Scanner scanner = new Scanner(System.in);
Menu menu = new Menu();
//记录员工数量
//int count = 0;
//调用增加类
//Add addMet = new Add();
//Delete deleteMet = new Delete();
while (true) {
System.out.println("===================");
System.out.println("1.新增员工");
System.out.println("2.删除员工");
System.out.println("3.查询员工");
System.out.println("4.修改员工");
System.out.println("===================");
System.out.println("请输入需要进行的操作:");
switch (scanner.nextInt()) {
case 1:
Add.add();//调用添加类
menu.count++;
System.out.println("添加完成!目前共有员工" + menu.count);
break;
case 2:
Delete.delete();
menu.count--;
System.out.println("添加完成!目前共有员工" + menu.count);
break;
case 3:
Inquire.inquire();
break;
case 4:
Revise.revise();
break;
case 5:
System.out.println(menu.toString(0));
break;
case 6:
System.out.println(menu.toString(1));
break;
case 7:
if (menu.staff != null)
System.out.println(menu);
break;
default:
System.out.println("没有这个操作");
}
}
}
}
main 函数新建的Menu 对象与 Add 类中add 方法里Menu 有什么联系? 这写的什么逻辑 。
把add() 方法 改成 add(Menu menu) ,把main函数里新建的Menu对象传过去。再修改下add方法。
同样其他方法也得改