菜单类错误-Java 更新

菜单类错误-Java 更新,java,methods,Java,Methods,以下错误已解决,但输入作者后,我将显示此消息: " " 这有什么原因吗 我是java新手,被指派完成以下任务: 我已经完成了这些任务,几乎快结束了,但是我认为我的菜单类出现了错误,这使它无法运行。以下是我正在使用的4个不同的类: 手工课: 控制台类: 图书馆类别: 菜单类: package manualLibrary; public class Menu { public static void main(String[] args) { // I

以下错误已解决,但输入作者后,我将显示此消息:

"

" 这有什么原因吗


我是java新手,被指派完成以下任务:

我已经完成了这些任务,几乎快结束了,但是我认为我的菜单类出现了错误,这使它无法运行。以下是我正在使用的4个不同的类:

手工课:

控制台类:

图书馆类别:

菜单类:

package manualLibrary;

public class Menu 
{
    public static void main(String[] args) 
    {
        // Initialise container
        //Manuals manuals = new Manuals();
        Library manuals = new Library();
        // declare boolean for while loop
        boolean finished = false;
        char option;
        // while loop
        while(! finished)
        {
            // ask option using menu choices
            option = Console.askOption("Select: A)dd, P)rint, Q)uit");
            // implement switch option
            switch (option)
            {
            // implement cases
            // add
            case 'A':
                Manual one = new Manual();
                one.ask("Enter manual details: ");
                manuals.addManual(one);
                break;
            // find 
            case 'F':
                manual = new Manual();
                String manualserialNumber = manual.askserialNumber("\nEnter the serial number for the manual: ");
                if ( manuals.find( manualserialNumber) != null)
                    System.out.println("Manual found is: " +manuals.find(manualserialNumber));
                else
                    System.out.println("Error: Manual not found! \n");
                break;
            // print
            case 'P':
                manuals.print("Stored manuals are: ");
                break;
            // quit menu case
            case 'Q':
                finished = true;
                System.out.println("End of application, goodbye!");
                break;
            // default case
            case '\0':
                break;
            default:
                System.out.println("Invalid entry!");
            }
        }
    }
}
如果有人对我如何修复当前的错误有任何想法,请帮助,我一直在努力工作,希望我的代码能够正常运行

编辑 以下是eclipse抛出的错误:

"

"


谢谢大家!

这个错误是不言自明的,但是如果你不能理解它,下面是

1.)您尝试使用
字符串
参数调用方法
Console.askOption()
,但是不存在这样的方法-您需要定义它。但是,看起来您需要
Console.askChar()

2.)您尝试在
Manual
实例上使用
String
参数调用方法
ask()
,但您定义的方法没有参数。使用普通的
one.ask(),或者它看起来像您想要的
one.print(“输入手动详细信息:”)

3.)尝试在
案例“F”:
下分配未声明的变量
manual
,这可能是
manual=new manual()而不是
手动=新手动()

4.)您尝试在
实例上使用
手动
参数调用方法
addManual()
(不存在此类方法)-看起来您需要
手册。添加(一个)

5.)您尝试在
实例上使用
字符串
参数调用方法
print
(不存在此类方法)-看起来您需要
manuals.print()


我想就是这样。

“我想我的菜单类存在错误,这会阻止它运行”是否有任何错误/异常消息?请包括它们。此外,我建议您调试代码(许多IDE都有调试工具,如逐步执行),以跟踪问题所在。这是您的家庭作业吗?你试过什么吗?怎么了?它说
类型控制台的方法askOption(String)未定义。您在这里使用它:
option=Console.askOption(“选择:A)dd,P)rint,Q)uit”)但是您的控制台类没有定义
askOption
。它有一个
askChar
,似乎就是您想要使用的
如果您没有声明它是什么类型(例如
Manual Manual=new Manual();
)@user1071777哇,非常感谢您的反馈,我已经应用了您的更改,它运行得很好!只有一个问题,当我在输入author后按enter键时,我得到一个错误声明:线程“main”java.lang.NullPointerException中的异常-在manualLibrary.Library.add(Library.java:21)-在manualLibrary.Menu.main(Menu.java:25)
package manualLibrary;

public class Menu 
{
    public static void main(String[] args) 
    {
        // Initialise container
        //Manuals manuals = new Manuals();
        Library manuals = new Library();
        // declare boolean for while loop
        boolean finished = false;
        char option;
        // while loop
        while(! finished)
        {
            // ask option using menu choices
            option = Console.askOption("Select: A)dd, P)rint, Q)uit");
            // implement switch option
            switch (option)
            {
            // implement cases
            // add
            case 'A':
                Manual one = new Manual();
                one.ask("Enter manual details: ");
                manuals.addManual(one);
                break;
            // find 
            case 'F':
                manual = new Manual();
                String manualserialNumber = manual.askserialNumber("\nEnter the serial number for the manual: ");
                if ( manuals.find( manualserialNumber) != null)
                    System.out.println("Manual found is: " +manuals.find(manualserialNumber));
                else
                    System.out.println("Error: Manual not found! \n");
                break;
            // print
            case 'P':
                manuals.print("Stored manuals are: ");
                break;
            // quit menu case
            case 'Q':
                finished = true;
                System.out.println("End of application, goodbye!");
                break;
            // default case
            case '\0':
                break;
            default:
                System.out.println("Invalid entry!");
            }
        }
    }
}
Exception in thread "main" java.lang.Error: Unresolved compilation problems: 

The method askOption(String) is undefined for the type Console

The method ask() in the type Manual is not applicable for the arguments (String)

The method addManual(Manual) is undefined for the type Library

manual cannot be resolved to a variable

manual cannot be resolved

at manualLibrary.Menu.main(Menu.java:17)