Java 返回嵌套循环中的第一个循环

Java 返回嵌套循环中的第一个循环,java,loops,Java,Loops,我正在为我的案例研究制作一个ATM机程序。例如,在用户按下“取消”(我还没有对其进行编码)后,如何返回到第一个输出,即主菜单(带有余额查询等功能的菜单) 评论:“例如,如果用户完成了提取,如何显示相同的窗口(主菜单)。” import javax.swing.JOptionPane; 导入java.util.Scanner; 公共课案例研究 { 公共静态void main(字符串参数[]) { 扫描仪sc=新的扫描仪(System.in); 字符串帐户[]={“0123-4567-8901”、“

我正在为我的案例研究制作一个ATM机程序。例如,在用户按下“取消”(我还没有对其进行编码)后,如何返回到第一个输出,即主菜单(带有余额查询等功能的菜单)

评论:“例如,如果用户完成了提取,如何显示相同的窗口(主菜单)。”

import javax.swing.JOptionPane;
导入java.util.Scanner;
公共课案例研究
{
公共静态void main(字符串参数[])
{
扫描仪sc=新的扫描仪(System.in);
字符串帐户[]={“0123-4567-8901”、“2345-6789-0123”、“3456-7890-1234”、“4567-8901-2345”、“5678-9012-3456”};
字符串名[]={“迪娜·巴莱”、“玛莉·盖亚”、“托托·李”、“米娜·玛哈尔”、“科里·波特”};
int bal[]={5000,0,10000,2500,10000};
int pinarr[]={0000、1111、2222、3333、4444、5555};
int wdamount=0;
int DEPANTUM=0;
int=0;
int=0;
布尔正确=错误;
布尔错误=错误;
String g=JOptionPane.showInputDialog(“欢迎来到菲律宾银行公司!\n\n如果您是客户,请按[C],[a]如果您是管理员:”;
字符级别=g.charAt(0);
开关(电平)
{
案例“A”:
案例“a”:JOptionPane.showMessageDialog(null,“HEHE”);break;
默认值:JOptionPane.showMessageDialog(null,“无效代码!”);System.exit(0);break;
案例“C”:
案例“c”:
{   
字符串a=JOptionPane.showInputDialog(“菲律宾银行公司”\n===================================================================\n按[S]开始交易,按[Q]退出:”;
字符选择=a.charAt(0);
开关(选择)
{
案例‘Q’:
案例“q”:JOptionPane.showMessageDialog(null,“程序现在将退出”);System.exit(0);break;
默认值:JOptionPane.showMessageDialog(null,“无效选择!”);System.exit(0);break;
案例S:
案例s:
JOptionPane.showMessageDialog(null,“=======================================================\n\n菲律宾银行公司\n\n\n\t\t启动事务!”);
而((pintrument!=3)和&(correct=true))
{
int pin=Integer.parseInt(JOptionPane.showInputDialog(“输入pin:”);
开关(引脚)
{
案例1111:
{
pintrument=3;correct=true;
字符串b=JOptionPane.showInputDialog(“====================================================\n\nFilpinas BANKING CORPORATION\n\t\t\t选择交易类型\n\t\t[b]-余额查询\n\t\t[W]-取款\n\t\t[D]-存款\n\t\t[C]-取消”);
char pick=b.charAt(0);
开关(拾取)
{
案例“B”:
案例“b”:JOptionPane.showMessageDialog(空,“帐户”;:“+acct[0]+”\n“+”帐户名称:“+Name[0]+”\n“+”余额:“+bal[0],“余额查询”,JOptionPane.INFORMATION\u消息);System.exit(0);break;
案例“W”:
案例“w”:
字符串q=JOptionPane.showInputDialog(“输入要提取的金额:”);
wdamount=整数.parseInt(q);

if((wdamount基于您在这里所说的内容)是如何做到这一点的基本想法(不是基于您的代码,因为它太多了,只是一个示例)。将函数彼此分离,并为它们创建不同的方法。在函数末尾,您只需调用一个方法即可再次显示主菜单。这方面的一个非常基本的示例如下所示

public class Example {
    static Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {
        printMainMenue();
    }

    /**
     *  A basic method that should allways let you print the menue and input values
     */
    static void printMainMenue() {
        System.out.println("Option a");
        System.out.println("Option b");
        System.out.println("Option c");
        System.out.println("Option d");
        String input = scanner.nextLine();
        if(input.equals("A")) {
            optionA();
        } else if(input.equals("B")) {
            optionB();
        } else if(input.equals("C")) {
            optionC();
        } else if(input.equals("D")) {
            close();
        } else {
            System.out.println("Wrong input");
            printMainMenue();
        }
    }

    static void optionA () {
        // Do stuff 
        System.out.println("You picked option A");
        printMainMenue();
    }

    static void optionB () {
        // Do stuff 
        System.out.println("You picked option B");
        printMainMenue();
    }

    static void optionC () {
        // Do stuff 
        System.out.println("You picked option C");
        printMainMenue();
    }

    static void close() {
        System.out.println("Goodbye");
    }
}
对于你的代码来说,这意味着你要用不同的方法来区分
A、C、Q、S等等的情况。最后,你只需给这些方法一个调用
printMenue
方法的回调,它会再次打开你的菜单


如果您想要“更快、更脏的解决方案”,只需在代码周围加一个循环
而(true){…}
并在用户选择退出程序时将其打断。

您可以使用一个标签。您所说的“如何返回到主菜单的第一个输出”的确切含义可能是什么?我在这里的盲目猜测是将主菜单代码提取到一个单独的函数中,并在您希望再次打开主菜单的位置调用此函数。我想说的是,如果用户完成了退出,我如何显示相同的窗口(即主菜单)。
public class Example {
    static Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {
        printMainMenue();
    }

    /**
     *  A basic method that should allways let you print the menue and input values
     */
    static void printMainMenue() {
        System.out.println("Option a");
        System.out.println("Option b");
        System.out.println("Option c");
        System.out.println("Option d");
        String input = scanner.nextLine();
        if(input.equals("A")) {
            optionA();
        } else if(input.equals("B")) {
            optionB();
        } else if(input.equals("C")) {
            optionC();
        } else if(input.equals("D")) {
            close();
        } else {
            System.out.println("Wrong input");
            printMainMenue();
        }
    }

    static void optionA () {
        // Do stuff 
        System.out.println("You picked option A");
        printMainMenue();
    }

    static void optionB () {
        // Do stuff 
        System.out.println("You picked option B");
        printMainMenue();
    }

    static void optionC () {
        // Do stuff 
        System.out.println("You picked option C");
        printMainMenue();
    }

    static void close() {
        System.out.println("Goodbye");
    }
}