Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从另一个方法调用方法?_Java_Methods - Fatal编程技术网

Java 从另一个方法调用方法?

Java 从另一个方法调用方法?,java,methods,Java,Methods,我对编程还不太熟悉,在另一个方法中调用一个方法时遇到困难。我还没有完全写完我的代码,但我正在检查,以确保它能像我预期的那样工作。因此,代码中还有其他错误,但我认为这对下面的部分不重要 JOptionPane.showInputDialog(null, "Press n to add a new account\n Press d to add a deposit\n " + "Press w to withdraw from an account\n Or press x

我对编程还不太熟悉,在另一个方法中调用一个方法时遇到困难。我还没有完全写完我的代码,但我正在检查,以确保它能像我预期的那样工作。因此,代码中还有其他错误,但我认为这对下面的部分不重要

JOptionPane.showInputDialog(null, "Press n to add a new account\n Press d to add a deposit\n "
            + "Press w to withdraw from an account\n Or press x to exit");        
    String choice = input.next();        
    if(choice.equals("n")){
            Bank n = new Bank();
            n.newAccount();
    }

public void newAccount() {
    JOptionPane.showInputDialog(null, "Enter the account number");
因此,我的问题是,它会提示我输入n/d/w/x,正如它在第一部分中应该输入的那样,但是当我输入“n”时,不会发生其他任何事情。如我所想,在输入n后,它会提示我输入帐号


仅供参考:课程名称为Bank。另外,代码有点长,所以我只粘贴了一部分(有更多的if语句用于输入d/w/x,程序还有其他方法。

您只需将其放入调试器中,它就会非常清楚

要检查的一件事是确保您得到的输入确实是“n”

也许在变量选择初始化后立即放置一个print语句

System.out.println(String.format("Choice '%s'", choice));

为什么不自己打印
choice
值,或者如果您正在使用任何IDE,那么可以在调试模式下启动服务器,然后通过在代码中应用调试点来检查您想要检查的内容。

您需要设置“choice”变量设置为从输入对话框返回的值,因为它以字符串形式返回用户的输入,如下所示:

String choice = (String)JOptionPane.showInputDialog(null, "Press n to add a new account\n Press d to add a deposit\n "
            + "Press w to withdraw from an account\n Or press x to exit"); 

查看本教程了解更多信息:

由于
Bank
对象的作用域仅限于
if
语句,因此它可能没有做您想要做的事情。但是您想要做的事情是不可能猜到的。请尝试在
if
语句中放入调试语句,以确保它被调用。但是为什么要这样做呢调用该方法的ew对象?不太确定,是否有其他方法可以不这样做而调用该方法?