如何得到数组的返回值

问题遇到的现象和发生背景

有参构造器、无参构造器都有,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("没有这个操作");
            }
        }
    }
}
运行结果及报错内容

img

img

main 函数新建的Menu 对象与 Add 类中add 方法里Menu 有什么联系? 这写的什么逻辑 。
把add() 方法 改成 add(Menu menu) ,把main函数里新建的Menu对象传过去。再修改下add方法。
同样其他方法也得改