Java 花括号有什么问题?为什么没有';不行?

Java 花括号有什么问题?为什么没有';不行?,java,Java,导入java.util.Scanner; 公共级自动取款机{ static Scanner console = new Scanner(System.in); public static void main(String[] args) { int Account01 = 3000; int Account02 = 2000; int Account03 = 1000; String username; int pin, transaction, co

导入java.util.Scanner; 公共级自动取款机{

static Scanner console = new Scanner(System.in);

public static void main(String[] args) {

    int Account01 = 3000;
    int Account02 = 2000;
    int Account03 = 1000;
    String username;
    int pin, transaction, counter=1, menu, chooseAccount;
    int withdraw_amount, deposited_amount, transfer_amount, transfer_account = 0;


    do{
        System.out.print("Enter username: ");
        username = console.next();

        System.out.print("Enter PIN: ");
        pin = console.nextInt();


        if ((username.equalsIgnoreCase("Account01")) && (pin == 1234 )) 
        {
            System.out.println("PIN Accepted"); 
            System.out.println("\n\nSelect a menu:");
            System.out.println("[1] Balance Inquiry\n[2] Withdrawal\n[3] Deposit\n[4] Transfer Amount");
            System.out.print("\nEnter your choice: ");
            menu = console.nextInt();
            do{
                if (menu == 1)
                {
                    System.out.print("\n\nBALANCE INQUIRY");
                    System.out.print("\nYour Current Balance is: " + Account01);
                }

                else if (menu ==2)
                {
                    do{
                        System.out.print("\n\nWITHDRAWAL");
                        System.out.print("\nEnter amount: ");
                        withdraw_amount = console.nextInt();
                        if(((withdraw_amount % 100) == 0) && ( (withdraw_amount >= 200) && 
                                (withdraw_amount <= Account01) && (withdraw_amount <= 10000) ))
                        {
                            Account01 = Account01 - withdraw_amount; 
                            break;
                        }
                        // error catching
                        if(counter<3)
                            System.out.println("Error: Incorrect amount!\n");
                        else{
                            System.out.println("Card has been captured!");
                            break;
                        }
                        counter++;
                    }while(counter<=3);

                }

                else if (menu == 3)
                {
                    do
                    {
                        System.out.print("\n\nDEPOSIT");
                        System.out.print("\nEnter amount: ");
                        deposited_amount = console.nextInt();
                        if( ((deposited_amount % 100) == 0) && (deposited_amount <= 10000) )
                        {
                            Account01 = Account01 + deposited_amount; 
                            break;
                        }
                        // error catching
                        if(counter < 3)
                            System.out.println("Error: Incorrect amount.\n");
                        else
                        {
                            System.out.println("Card has been captured.");
                            break;
                        }
                        counter++;
                    }while(counter <= 3);
                }

                else if (menu == 4)
                {

                    do{
                        System.out.print("\n\nTRANSFER PAYMENT");
                        System.out.print("\nEnter amount: ");
                        transfer_amount = console.nextInt();
                        System.out.print("[1] account01\n[2] account02\n[3] account03\n");
                        System.out.print("Chose account: ");
                        chooseAccount = console.nextInt();
                        if(chooseAccount == 1) 
                        {
                            transfer_account = Account01;
                        }
                        else if(chooseAccount == 2) 
                        {
                            transfer_account = Account02;
                        }
                        else if(chooseAccount == 3)
                        {
                            transfer_account = Account03;
                        }
                        else System.out.println("invalid number entered."); 

                        if( ((transfer_amount % 100) == 0) && (transfer_amount <= 10000) )
                        {
                            Account01 = Account01 - transfer_amount; 
                            transfer_account = transfer_account + transfer_amount;
                            break;
                        }
                        // error catching
                        if(counter < 3)
                            System.out.println("Error: Incorrect amount.\n");
                        else
                        {
                            System.out.println("Card has been captured.");
                            break;
                        }
                        counter++;
                    }while(counter <= 3);
                }


                System.out.println("\n\n\nDo you want another transaction?\nType [1] if YES. Type [2] if NO");
                System.out.print("\nEnter your choice: ");
                transaction = console.nextInt();
                if (transaction == 1) 
                {
                    System.out.println("\n\nSelect a menu:");
                    System.out.println("[1] Balance Inquiry\n[2] Withdrawal\n[3] Deposit\n[4] Transfer Amount");
                    System.out.print("\nEnter your choice: ");
                    menu = console.nextInt();
                    do{
                        if (menu == 1)
                        {
                            System.out.print("\n\nBALANCE INQUIRY");
                            System.out.print("\nYour Current Balance is: " + Account01);
                        }

                        else if (menu ==2)
                        {
                            do{
                                System.out.print("\n\nWITHDRAWAL");
                                System.out.print("\nEnter amount: ");
                                withdraw_amount = console.nextInt();
                                if(((withdraw_amount % 100) == 0) && ( (withdraw_amount >= 200) && 
                                        (withdraw_amount <= Account01) && (withdraw_amount <= 10000) ))
                                {
                                    Account01 = Account01 - withdraw_amount; 
                                    break;
                                }
                                // error catching
                                if(counter<3)
                                    System.out.println("Error: Incorrect amount!\n");
                                else{
                                    System.out.println("Card has been captured!");
                                    break;
                                }
                                counter++;
                            }while(counter<=3);
                        }

                        else if (menu == 3)
                        {
                            do
                            {
                                System.out.print("\n\nDEPOSIT");
                                System.out.print("\nEnter amount: ");
                                deposited_amount = console.nextInt();
                                if( ((deposited_amount % 100) == 0) && (deposited_amount <= 10000) )
                                {
                                    Account01 = Account01 + deposited_amount; 
                                    break;
                                }
                                // error catching
                                if(counter < 3)
                                    System.out.println("Error: Incorrect amount.\n");
                                else
                                {
                                    System.out.println("Card has been captured.");
                                    break;
                                }
                                counter++;
                            }while(counter <= 3);
                        }

                        else if (menu == 4)
                        {

                            do{
                                System.out.print("\n\nTRANSFER PAYMENT");
                                System.out.print("\nEnter amount: ");
                                transfer_amount = console.nextInt();
                                System.out.print("[1] account01\n[2] account02\n[3] account03\n");
                                System.out.print("Chose account: ");
                                chooseAccount = console.nextInt();
                                if(chooseAccount == 1) 
                                {
                                    transfer_account = Account01;
                                }
                                else if(chooseAccount == 2) 
                                {
                                    transfer_account = Account02;
                                }
                                else if(chooseAccount == 3)
                                {
                                    transfer_account = Account03;
                                }
                                else System.out.println("invalid number entered."); 

                                if( ((transfer_amount % 100) == 0) && (transfer_amount <= 10000) )
                                {
                                    Account01 = Account01 - transfer_amount; 
                                    transfer_account = transfer_account + transfer_amount;
                                    break;
                                }
                                // error catching
                                if(counter < 3)
                                    System.out.println("Error: Incorrect amount.\n");
                                else
                                {
                                    System.out.println("Card has been captured.");
                                    break;
                                }
                                counter++;
                            }while(counter <= 3);
                        }
                else 
                {
                    System.out.println("\nThank You!!!\nGood Bye!!!");
                }
                break;

            }while((menu >= 1) && (menu <= 4));
            break;
        }


        else if ((username.equalsIgnoreCase("Account02")) && (pin == 4321)) 
        {
            System.out.println("PIN Accepted"); 
            System.out.println("\n\nSelect a menu:");
            System.out.println("[1] Balance Inquiry\n[2] Withdrawal\n[3] Deposit\n[4] Transfer Amount");
            System.out.print("\nEnter your choice: ");
            menu = console.nextInt();
            do{
                if (menu == 1)
                {
                    System.out.print("\n\nBALANCE INQUIRY");
                    System.out.print("\nYour Current Balance is: " + Account02);
                }

                else if (menu ==2)
                {
                    do{
                        System.out.print("\n\nWITHDRAWAL");
                        System.out.print("\nEnter amount: ");
                        withdraw_amount = console.nextInt();
                        if(((withdraw_amount % 100) == 0) && ( (withdraw_amount >= 200) && 
                                (withdraw_amount <= Account02) && (withdraw_amount <= 10000) ))
                        {
                            Account02 = Account02 - withdraw_amount; 
                            break;
                        }
                        // error catching
                        if(counter<3)
                            System.out.println("Error: Incorrect amount!\n");
                        else{
                            System.out.println("Card has been captured!");
                            break;
                        }
                        counter++;
                    }while(counter<=3);

                }

                else if (menu == 3)
                {
                    do
                    {
                        System.out.print("\n\nDEPOSIT");
                        System.out.print("\nEnter amount: ");
                        deposited_amount = console.nextInt();
                        if( ((deposited_amount % 100) == 0) && (deposited_amount <= 10000) )
                        {
                            Account02 = Account02 + deposited_amount; 
                            break;
                        }
                        // error catching
                        if(counter < 3)
                            System.out.println("Error: Incorrect amount.\n");
                        else
                        {
                            System.out.println("Card has been captured.");
                            break;
                        }
                        counter++;
                    }while(counter <= 3);
                }

                else if (menu == 4)
                {

                    do{
                        System.out.print("\n\nTRANSFER PAYMENT");
                        System.out.print("\nEnter amount: ");
                        transfer_amount = console.nextInt();
                        System.out.print("[1] account01\n[2] account02\n[3] account03\n");
                        System.out.print("Chose account: ");
                        chooseAccount = console.nextInt();
                        if(chooseAccount == 1) 
                        {
                            transfer_account = Account01;
                        }
                        else if(chooseAccount == 2)
                        {
                            transfer_account = Account02;
                        }
                        else if(chooseAccount == 3) 
                        {
                            transfer_account = Account03;
                        }
                        else System.out.println("invalid number entered."); 

                        if( ((transfer_amount % 100) == 0) && (transfer_amount <= 10000) )
                        {
                            Account02 = Account02 - transfer_amount; 
                            transfer_account = transfer_account + transfer_amount;
                            break;
                        }
                        // error catching
                        if(counter < 3)
                            System.out.println("Error: Incorrect amount.\n");
                        else
                        {
                            System.out.println("Card has been captured.");
                            break;
                        }
                        counter++;
                    }while(counter <= 3);
                }


                System.out.println("\n\n\nDo you want another transaction?\nType [1] if YES. Type [2] if NO");
                System.out.print("\nEnter your choice: ");
                transaction = console.nextInt();
                if (transaction == 1) 
                {
                    System.out.println("\n\nSelect a menu:");
                    System.out.println("[1] Balance Inquiry\n[2] Withdrawal\n[3] Deposit\n[4] Transfer Amount");
                    System.out.print("\nEnter your choice: ");
                    menu = console.nextInt();
                    do{
                        if (menu == 1)
                        {
                            System.out.print("\n\nBALANCE INQUIRY");
                            System.out.print("\nYour Current Balance is: " + Account02);
                        }

                        else if (menu ==2)
                        {
                            do{
                                System.out.print("\n\nWITHDRAWAL");
                                System.out.print("\nEnter amount: ");
                                withdraw_amount = console.nextInt();
                                if(((withdraw_amount % 100) == 0) && ( (withdraw_amount >= 200) && 
                                        (withdraw_amount <= Account02) && (withdraw_amount <= 10000) ))
                                {
                                    Account02 = Account02 - withdraw_amount; 
                                    break;
                                }
                                // error catching
                                if(counter<3)
                                    System.out.println("Error: Incorrect amount!\n");
                                else{
                                    System.out.println("Card has been captured!");
                                    break;
                                }
                                counter++;
                            }while(counter<=3);

                        }

                        else if (menu == 3)
                        {
                            do
                            {
                                System.out.print("\n\nDEPOSIT");
                                System.out.print("\nEnter amount: ");
                                deposited_amount = console.nextInt();
                                if( ((deposited_amount % 100) == 0) && (deposited_amount <= 10000) )
                                {
                                    Account02 = Account02 + deposited_amount; 
                                    break;
                                }
                                // error catching
                                if(counter < 3)
                                    System.out.println("Error: Incorrect amount.\n");
                                else
                                {
                                    System.out.println("Card has been captured.");
                                    break;
                                }
                                counter++;
                            }while(counter <= 3);
                        }

                        else if (menu == 4)
                        {

                            do{
                                System.out.print("\n\nTRANSFER PAYMENT");
                                System.out.print("\nEnter amount: ");
                                transfer_amount = console.nextInt();
                                System.out.print("[1] account01\n[2] account02\n[3] account03\n");
                                System.out.print("Chose account: ");
                                chooseAccount = console.nextInt();
                                if(chooseAccount == 1) 
                                {
                                    transfer_account = Account01;
                                }
                                else if(chooseAccount == 2)
                                {
                                    transfer_account = Account02;
                                }
                                else if(chooseAccount == 3) 
                                {
                                    transfer_account = Account03;
                                }
                                else System.out.println("invalid number entered."); 

                                if( ((transfer_amount % 100) == 0) && (transfer_amount <= 10000) )
                                {
                                    Account02 = Account02 - transfer_amount; 
                                    transfer_account = transfer_account + transfer_amount;
                                    break;
                                }
                                // error catching
                                if(counter < 3)
                                    System.out.println("Error: Incorrect amount.\n");
                                else
                                {
                                    System.out.println("Card has been captured.");
                                    break;
                                }
                                counter++;
                            }while(counter <= 3);
                }
                else 
                {
                    System.out.println("\nThank You!!!\nGood Bye!!!");
                }
                break;

            }while((menu >= 1) && (menu <= 4));
            break;
        }


        else if ((username.equalsIgnoreCase("Account03")) && (pin == 5555))
        {
            System.out.println("PIN Accepted"); 
            System.out.println("\n\nSelect a menu:");
            System.out.println("[1] Balance Inquiry\n[2] Withdrawal\n[3] Deposit\n[4] Transfer Amount");
            System.out.print("\nEnter your choice: ");
            menu = console.nextInt();
            do{
                if (menu == 1)
                {
                    System.out.print("\n\nBALANCE INQUIRY");
                    System.out.print("\nYour Current Balance is: " + Account03);
                }

                else if (menu ==2)
                {
                    do{
                        System.out.print("\n\nWITHDRAWAL");
                        System.out.print("\nEnter amount: ");
                        withdraw_amount = console.nextInt();
                        if(((withdraw_amount % 100) == 0) && ( (withdraw_amount >= 200) && 
                                (withdraw_amount <= Account03) && (withdraw_amount <= 10000) ))
                        {
                            Account03 = Account03 - withdraw_amount; 
                            break;
                        }
                        // error catching
                        if(counter<3)
                            System.out.println("Error: Incorrect amount!\n");
                        else{
                            System.out.println("Card has been captured!");
                            break;
                        }
                        counter++;
                    }while(counter<=3);

                }

                else if (menu == 3)
                {
                    do
                    {
                        System.out.print("\n\nDEPOSIT");
                        System.out.print("\nEnter amount: ");
                        deposited_amount = console.nextInt();
                        if( ((deposited_amount % 100) == 0) && (deposited_amount <= 10000) )
                        {
                            Account03 = Account03 + deposited_amount; 
                            break;
                        }
                        // error catching
                        if(counter < 3)
                            System.out.println("Error: Incorrect amount.\n");
                        else
                        {
                            System.out.println("Card has been captured.");
                            break;
                        }
                        counter++;
                    }while(counter <= 3);
                }

                else if (menu == 4)
                {

                    do{
                        System.out.print("\n\nTRANSFER PAYMENT");
                        System.out.print("\nEnter amount: ");
                        transfer_amount = console.nextInt();
                        System.out.print("[1] account01\n[2] account02\n[3] account03\n");
                        System.out.print("Chose account: ");
                        chooseAccount = console.nextInt();
                        if(chooseAccount == 1) 
                        {
                            transfer_account = Account01;
                        }
                        else if(chooseAccount == 2) 
                        {
                            transfer_account = Account02;
                        }
                        else if(chooseAccount == 3) 
                        {
                            transfer_account = Account03;
                        }
                        else System.out.println("invalid number entered."); 

                        if( ((transfer_amount % 100) == 0) && (transfer_amount <= 10000) )
                        {
                            Account03 = Account03 - transfer_amount; 
                            transfer_account = transfer_account + transfer_amount;
                            break;
                        }
                        // error catching
                        if(counter < 3)
                            System.out.println("Error: Incorrect amount.\n");
                        else
                        {
                            System.out.println("Card has been captured.");
                            break;
                        }
                        counter++;
                    }while(counter <= 3);
                }


                System.out.println("\n\n\nDo you want another transaction?\nType [1] if YES. Type [2] if NO");
                System.out.print("\nEnter your choice: ");
                transaction = console.nextInt();
                if (transaction == 1) 
                {
                    System.out.println("\n\nSelect a menu:");
                    System.out.println("[1] Balance Inquiry\n[2] Withdrawal\n[3] Deposit\n[4] Transfer Amount");
                    System.out.print("\nEnter your choice: ");
                    menu = console.nextInt();
                    do{
                        if (menu == 1)
                        {
                            System.out.print("\n\nBALANCE INQUIRY");
                            System.out.print("\nYour Current Balance is: " + Account03);
                        }

                        else if (menu ==2)
                        {
                            do{
                                System.out.print("\n\nWITHDRAWAL");
                                System.out.print("\nEnter amount: ");
                                withdraw_amount = console.nextInt();
                                if(((withdraw_amount % 100) == 0) && ( (withdraw_amount >= 200) && 
                                        (withdraw_amount <= Account03) && (withdraw_amount <= 10000) ))
                                {
                                    Account03 = Account03 - withdraw_amount; 
                                    break;
                                }
                                // error catching
                                if(counter<3)
                                    System.out.println("Error: Incorrect amount!\n");
                                else{
                                    System.out.println("Card has been captured!");
                                    break;
                                }
                                counter++;
                            }while(counter<=3);

                        }

                        else if (menu == 3)
                        {
                            do
                            {
                                System.out.print("\n\nDEPOSIT");
                                System.out.print("\nEnter amount: ");
                                deposited_amount = console.nextInt();
                                if( ((deposited_amount % 100) == 0) && (deposited_amount <= 10000) )
                                {
                                    Account03 = Account03 + deposited_amount; 
                                    break;
                                }
                                // error catching
                                if(counter < 3)
                                    System.out.println("Error: Incorrect amount.\n");
                                else
                                {
                                    System.out.println("Card has been captured.");
                                    break;
                                }
                                counter++;
                            }while(counter <= 3);
                        }

                        else if (menu == 4)
                        {

                            do{
                                System.out.print("\n\nTRANSFER PAYMENT");
                                System.out.print("\nEnter amount: ");
                                transfer_amount = console.nextInt();
                                System.out.print("[1] account01\n[2] account02\n[3] account03\n");
                                System.out.print("Chose account: ");
                                chooseAccount = console.nextInt();
                                if(chooseAccount == 1) 
                                {
                                    transfer_account = Account01;
                                }
                                else if(chooseAccount == 2) 
                                {
                                    transfer_account = Account02;
                                }
                                else if(chooseAccount == 3) 
                                {
                                    transfer_account = Account03;
                                }
                                else System.out.println("invalid number entered."); 

                                if( ((transfer_amount % 100) == 0) && (transfer_amount <= 10000) )
                                {
                                    Account03 = Account03 - transfer_amount; 
                                    transfer_account = transfer_account + transfer_amount;
                                    break;
                                }
                                // error catching
                                if(counter < 3)
                                    System.out.println("Error: Incorrect amount.\n");
                                else
                                {
                                    System.out.println("Card has been captured.");
                                    break;
                                }
                                counter++;
                            }while(counter <= 3);
                }
                else 
                {
                    System.out.println("\nThank You!!!\nGood Bye!!!");
                }
                break;

            }while((menu >= 1) && (menu <= 4));
            break;
        }


        else if ((username.equalsIgnoreCase("x")) && (pin == 0000)) 
        {
            System.out.println("Program will be terminated!"); 
            break;
        }
        // error catching
        if(counter<3)
            System.out.println("Error: Incorrect username or password.\n");
        else{
            System.out.println("Card has been captured!");
            System.out.println("\n\nDo you want to continue?\nType [1] if YES. Type [2] if NO ");
            System.out.print("Enter your choice: ");
            transaction = console.nextInt();
            if (transaction == 1) 
            {
                System.out.println("\n\nInsert your card."); 
                System.out.print("\nEnter username: ");
                username = console.next();

                System.out.print("Enter PIN: ");
                pin = console.nextInt();

            }
            else 
            {
                System.out.println("\nThank You!!!\nGood Bye!!!");
            }
            break;
        }

        counter++;
    }while(counter<=3);
}
静态扫描仪控制台=新扫描仪(System.in);
公共静态void main(字符串[]args){
int ACCOUNT 01=3000;
国际会计02=2000;
国际会计03=1000;
字符串用户名;
int pin,事务,计数器=1,菜单,选择帐户;
int取款金额、存款金额、转账金额、转账账户=0;
做{
系统输出打印(“输入用户名:”);
username=console.next();
系统输出打印(“输入PIN:”);
pin=console.nextInt();
if((username.equalsIgnoreCase(“Account01”)&&(pin==1234))
{
系统输出打印项次(“接受PIN”);
System.out.println(“\n\n选择一个菜单:”);
System.out.println(“[1]余额查询\n[2]取款\n[3]存款\n[4]转账金额”);
System.out.print(“\n输入您的选择:”);
menu=console.nextInt();
做{
如果(菜单==1)
{
系统输出打印(“\n\n平衡查询”);
系统输出打印(“\n您当前的余额为:“+Account01”);
}
否则如果(菜单==2)
{
做{
System.out.print(“\n\n WithDrawal”);
系统输出打印(“\n输入金额:”);
取款金额=console.nextInt();
如果((提取金额%100)=0)和((提取金额>=200)和

(draw_amount您的代码将无法编译,因为您使用了do{}while循环,该循环具有一般形式:

do {
 statement(s)
} while (expression);
并且,您没有在其中三个中添加表达式部分(从代码开始)。 你写没有表达式的语句

我不知道您的代码,但足以添加:

                        }while(true);
                    }
                }while(true);
            }
        }while(true);
    }
}
编辑它


但是,您应该认真考虑将代码划分为多个类和方法,因为这很难读取和维护(您可能知道).

你必须描述你的程序到底是如何无法产生预期结果的。很难将你的问题从所有这些代码中分离出来,特别是如果你不说明它是什么。你能描述一下你到目前为止尝试了什么,你期望发生什么,以及它到目前为止做了什么吗?我运行它时的问题是:语法错误,插入“while”(表达式);“若要完成DoStatement语法错误,请插入“}”若要完成MethodBody我尝试运行程序,但以下错误总是显示语法错误,请插入“while(表达式);”若要完成DoStatement语法错误,请插入“}”完成MethodBody。我正在尝试做一个atm机程序。伙计们。嗯,你需要注意你的问题的标题,无论如何,等我读了你的代码再回答