nobugdebug 2023-02-24 20:50 采纳率: 92.7%
浏览 25
已结题

JAVA。图书管理系统。代码问题修改

JAVA。图书管理系统。

还请麻烦看一下,该如何修改才能正常运行呢?

package cn.edu.xxx.cn.blms;

import javax.swing.*;
import javax.swing.plaf.synth.SynthRadioButtonMenuItemUI;
import java.util.Scanner;

/**时间:
 * 作者:
 * 图书管理系统主类
 */
public class App {
    /**
     * 输入扫描器
     */
    public static Scanner input;

    /**
     * 程序启动
     */
    public void run() {
        input = new Scanner(System.in);
        //TODO: 显示菜单,等待用户输入
        /**
         * 输出系统管理系统菜单
         */
        public void systemMenu() {
            System.out.println("----------------------------");
            System.out.println("          图书管理系统         ");
            System.out.println("-----------------------------");
            System.out.println("|         0...退出系统       |");
            System.out.println("|         1...读者管理       |");
            System.out.println("|         0...图书管理       |");
            System.out.println("|         0...借还图书       |");
            System.out.println("-----------------------------");
            System.out.print("请输入选项:");
        }
        input.close();
    }
    /**
     * 输出读者管理菜单
     */
    public void readerMenu() {
        System.out.println("----------------------------");
        System.out.println("           读者管理           ");
        System.out.println("-----------------------------");
        System.out.println("|         0...返回上级       |");
        System.out.println("|         1...添加读者       |");
        System.out.println("|         2...禁用读者       |");
        System.out.println("|         3...编辑读者       |");
        System.out.println("|         4...查询读者       |");
        System.out.println("-----------------------------");
        System.out.print("请输入选项:");
    }
    /**
     * 输出图书管理菜单
     */
    public void readerMenu() {
        System.out.println("----------------------------");
        System.out.println("           图书管理           ");
        System.out.println("-----------------------------");
        System.out.println("|        0...返回上级       |");
        System.out.println("|        1...添加图书       |");
        System.out.println("|        2...废弃图书       |");
        System.out.println("|        3...编辑图书       |");
        System.out.println("|        4...查询图书       |");
        System.out.println("-----------------------------");
        System.out.print("请输入选项:");
    }
    /**
     * 输出借还图书菜单
     */
    public void readerMenu() {
        System.out.println("----------------------------");
        System.out.println("           借还图书           ");
        System.out.println("-----------------------------");
        System.out.println("|         0...返回上级       |");
        System.out.println("|         1...借阅图书       |");
        System.out.println("|         2...归还图书       |");
        System.out.println("|         3...查询记录       |");
        System.out.println("-----------------------------");
        System.out.print("请输入选项:");
    }
    public static void main(String[] args) {
        App app = new App();
        app.run();
        /**
         * 实现1级菜单"系统管理"交互逻辑
         */
        public void run(){
            input = new Scanner(System.in);
            String systemMenuChoice;
            do {
                systemMenu();
                systemMenuChoice = input.nextLine();
                switch (systemMenuChoice) {
                    case "0":
                        System.out.println("成功退出系统,欢迎再次使用!");
                        break;
                    case "1":
                        //TODO:实现读者管理菜单交互
                        String readerMenuChoice;
                        do {
                            readerMenu();
                            readerMenuChoice = input.nextLine();
                            switch (readerMenuChoice) {
                                case "0":
                                    break;
                                case "1":
                                    //TODO:添加读者
                                    break;
                                case "2":
                                    //TODO:禁用读者
                                    break;
                                case "3":
                                    //TODO:编辑读者
                                    break;
                                case "4":
                                    //TODO: 查询读者
                                    break;
                                default:
                                    System.out.println("输入非法,请输入正确的菜单编号!");
                            }
                        }while(!("0").equals(readerMenuChoice));
                        break;
                    case "2":
                        //TODO:实现借还图书菜单交互
                        String bookMenuChoice;
                        do {
                            bookMenu();
                            bookMenuChoice = input.nextLine();
                            switch (bookMenuChoice) {
                                case "0":
                                    break;
                                case "1":
                                    //TODO:添加图书
                                    break;
                                case "2":
                                    //TODO:废弃图书
                                    break;
                                case "3":
                                    //TODO:编辑图书
                                    break;
                                case "4":
                                    //TODO: 查询图书
                                    break;
                                default:
                                    System.out.println("输入非法,请输入正确的菜单编号!");
                            }
                        }while(!("0").equals(readerMenuChoice));
                        break;
                    case "3":
                        //TODO:实现借还图书菜单交互
                        String borrowingMenuChoice;
                        do {
                            borrowingMenu();
                            borrowingMenuChoice = input.nextLine();
                            switch (borrowingMenuChoice) {
                                case "0":
                                    break;
                                case "1":
                                    //TODO:借阅图书
                                    break;
                                case "2":
                                    //TODO:归还图书
                                    break;
                                case "3":
                                    //TODO:查询记录
                                    break;
                                default:
                                    System.out.println("输入非法,请输入正确的菜单编号!");
                            }
                        }while(!("0").equals(borrowingMenuChoice));
                        break;
                    default:
                        System.out.println("输入非法,请输入正确的菜单编号!");
                }
            }
            while (!"0".equals(systemMenuChoice)) ;
            input.close();
        }

    }



更新,已更改1.2版本,还请大家帮忙看看有什么需要更改的地方(仅供学习参考)

package cn.edu.xxx.cn.blms;

import javax.swing.*;
import javax.swing.plaf.synth.SynthRadioButtonMenuItemUI;
import java.util.Scanner;

/**时间:
 * 作者:
 * 图书管理系统主类
 */
public class App {
    /**
     * 输入扫描器
     */
    public static Scanner input;

    /**
     * 程序启动
     */
    public void run() {
        input = new Scanner(System.in);
        //TODO: 显示菜单,等待用户输入
        /**
          实现1级菜单"系统管理"交互逻辑
         */
            String systemMenuChoice;
            do {
                systemMenu();
                systemMenuChoice = input.nextLine();
                switch (systemMenuChoice) {
                    case "0":
                        System.out.println("成功退出系统,欢迎再次使用!");
                        break;
                    case "1":
                        //TODO:实现读者管理菜单交互
                        String readerMenuChoice;
                        do {
                            readerMenu();
                            readerMenuChoice = input.nextLine();
                            switch (readerMenuChoice) {
                                case "0":
                                    break;
                                case "1":
                                    //TODO:添加读者
                                    break;
                                case "2":
                                    //TODO:禁用读者
                                    break;
                                case "3":
                                    //TODO:编辑读者
                                    break;
                                case "4":
                                    //TODO: 查询读者
                                    break;
                                default:
                                    System.out.println("输入非法,请输入正确的菜单编号!");
                            }
                        }while(!("0").equals(readerMenuChoice));
                        break;
                    case "2":
                        //TODO:实现借还图书菜单交互
                        String bookMenuChoice;
                        do {
                            bookMenu();
                            bookMenuChoice = input.nextLine();
                            switch (bookMenuChoice) {
                                case "0":
                                    break;
                                case "1":
                                    //TODO:添加图书
                                    break;
                                case "2":
                                    //TODO:废弃图书
                                    break;
                                case "3":
                                    //TODO:编辑图书
                                    break;
                                case "4":
                                    //TODO: 查询图书
                                    break;
                                default:
                                    System.out.println("输入非法,请输入正确的菜单编号!");
                            }
                        }while(!("0").equals(bookMenuChoice));
                        break;
                    case "3":
                        //TODO:实现借还图书菜单交互
                        String borrowingMenuChoice;
                        do {
                            borrowingMenu();
                            borrowingMenuChoice = input.nextLine();
                            switch (borrowingMenuChoice) {
                                case "0":
                                    break;
                                case "1":
                                    //TODO:借阅图书
                                    break;
                                case "2":
                                    //TODO:归还图书
                                    break;
                                case "3":
                                    //TODO:查询记录
                                    break;
                                default:
                                    System.out.println("输入非法,请输入正确的菜单编号!");
                            }
                        }while(!("0").equals(borrowingMenuChoice));
                        break;
                    default:
                        System.out.println("输入非法,请输入正确的菜单编号!");
                }
            }
            while (!"0".equals(systemMenuChoice)) ;
            input.close();
    }
        /**
         * 输出系统管理系统菜单
         */
        public void systemMenu() {
            System.out.println("----------------------------");
            System.out.println("          图书管理系统         ");
            System.out.println("-----------------------------");
            System.out.println("|         0...退出系统       |");
            System.out.println("|         1...读者管理       |");
            System.out.println("|         0...图书管理       |");
            System.out.println("|         0...借还图书       |");
            System.out.println("-----------------------------");
            System.out.print("请输入选项:");
        }
    }
    /**
     * 输出读者管理菜单
     */
    public void readerMenu() {
        System.out.println("----------------------------");
        System.out.println("           读者管理           ");
        System.out.println("-----------------------------");
        System.out.println("|         0...返回上级       |");
        System.out.println("|         1...添加读者       |");
        System.out.println("|         2...禁用读者       |");
        System.out.println("|         3...编辑读者       |");
        System.out.println("|         4...查询读者       |");
        System.out.println("-----------------------------");
        System.out.print("请输入选项:");
    }
    /**
     * 输出图书管理菜单
     */
    public void bookMenu() {
        System.out.println("----------------------------");
        System.out.println("           图书管理           ");
        System.out.println("-----------------------------");
        System.out.println("|        0...返回上级       |");
        System.out.println("|        1...添加图书       |");
        System.out.println("|        2...废弃图书       |");
        System.out.println("|        3...编辑图书       |");
        System.out.println("|        4...查询图书       |");
        System.out.println("-----------------------------");
        System.out.print("请输入选项:");
    }
    /**
     * 输出借还图书菜单
     */
    public void borrowingMenu() {
        System.out.println("----------------------------");
        System.out.println("           借还图书           ");
        System.out.println("-----------------------------");
        System.out.println("|         0...返回上级       |");
        System.out.println("|         1...借阅图书       |");
        System.out.println("|         2...归还图书       |");
        System.out.println("|         3...查询记录       |");
        System.out.println("-----------------------------");
        System.out.print("请输入选项:");
    }
    public static void main(String[] args) {
        App app = new App();
        app.run();
    }
}

  • 写回答

1条回答 默认 最新

  • pzzhao 2023-02-24 21:07
    关注

    方法名定义重复, systemMenu 方法不能放在run方法里面,要放在外面去定义

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月4日
  • 已采纳回答 2月24日
  • 修改了问题 2月24日
  • 修改了问题 2月24日
  • 展开全部

悬赏问题

  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来