编程新手。构建简单的银行应用程序 - 令牌“;”上的语法错误,{ 预期。 - Eclipse 错误(包含代码)

New to programming. Building simple Banking Application - Syntax error on token ";", { expected. - Error in Eclipse (code included)

我是编码新手,正在按照 YouTube 上的教程创建简单的银行应用程序。

I'm getting an error: Syntax error on token ";", { expected

我在下面的代码中概述了错误所在。

我尝试过的事情:

  1. 我看过牙套,它们对我来说很好。
  2. 我已经查看了此处的其他类似问题,但它们似乎没有帮助。
  3. Google'd 但仍然无法弄清楚是什么导致了这个令人沮丧的错误。
  4. Google 告诉我这可能与括号有关,但我看不出问题?

代码如下:

import java.util.Scanner;

public class BankingApplication {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        BankAccount obj1 = new BankAccount("Daniel", "BAB001");
        obj1.showMenu();
    }

}
class BankAccount {

    int balance;
    int previousTransaction;
    String customerName;
    String customerId;

    BankAccount(String cname, String cid) {

        customerName = cname;
        customerId = cid;
    }

    void deposit(int amount) {

        if (amount >= 0) {
            balance = balance + amount;
            previousTransaction = amount;
        }
    }

    void withdraw(int amount) {

        if (amount != 0) {
            balance = balance - amount;
            previousTransaction = amount;
        }
    }

    void getPreviousTransaction() {

        if (previousTransaction > 0) {
            System.out.println("Deposited: " + previousTransaction);
        } else if (previousTransaction < 0) {
            System.out.println("Withdrawn: " + Math.abs(previousTransaction));
        } else {
            System.out.println("No transaction occured");
        }
    }

    void showMenu() {

        char option= '[=11=]';
        Scanner scanner = new Scanner(System.in);

        System.out.println("Welcome "+customerName);
        System.out.println("Your ID: "+customerId);
        System.out.println("\n");
        System.out.println("A. Check Balance");
        System.out.println("B. Deposit");
        System.out.println("C. Withdraw");
        System.out.println("D. Previous Transaction");
        System.out.println("E. Exit");

        do {
            System.out.println("======================================================");
            System.out.println("Enter an option");
            System.out.println("======================================================");
            option = scanner.next().charAt(0);
            System.out.println("\n");
            {
        //error is on line directly under this one
            switch(option)

            case 'A':
                System.out.println("======================================================");
                System.out.println("Balance = "+balance);
                System.out.println("======================================================");
                System.out.println("\n");
                break;

            case 'B':
                System.out.println("======================================================");
                System.out.println("Enter an amount to deposit: ");
                System.out.println("======================================================");
                int amount = scanner.nextInt();
                deposit(amount);
                System.out.println("\n");
                break;

            case 'C':
                System.out.println("======================================================");
                System.out.println("Enter an amount to withdraw: ");
                System.out.println("======================================================");
                int amount2 = scanner.nextInt();
                withdraw(amount2);
                System.out.println("\n");
                break;

            case 'D':
                System.out.println("======================================================");
                getPreviousTransaction();
                System.out.println("======================================================");
                int amount3 = scanner.nextInt();
                deposit(amount3);
                System.out.println("\n");
                break;

            case 'E':
                System.out.println("*****************************************************");
                break;

            default:
                System.out.println("Invalid option: Please try again");
                break;

                }
        }

        while(option != 'E') ;
        System.out.println("Thank you for using our services");


        }
}

您需要将 switch 语句封装在方括号中(就像您对方法所做的那样):

switch(option) {

...

default:
    System.out.println("Invalid option: Please try again");
    break;

}