Новое в программировании. Создание простого банковского приложения - синтаксическая ошибка на токене ";", {ожидается. - Ошибка в Eclipse (код включен) - PullRequest
0 голосов
/ 09 марта 2020

Я новичок в кодировании и следую учебному пособию на YouTube по созданию простого банковского приложения.

Я получаю сообщение об ошибке: Синтаксическая ошибка на токене ";", {ожидается

Я обрисовал в общих чертах, где находится ошибка, в моем коде ниже.

Вещи, которые я пробовал:

  1. Я посмотрел на фигурные скобки, и они выглядят хорошо для меня.
  2. Я посмотрел на другие подобные вопросы здесь, и они, кажется, не помогают.
  3. Google и до сих пор не может понять, что является причиной этой расстраивающей ошибки.
  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= '\0';
        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");


        }
}

1 Ответ

0 голосов
/ 09 марта 2020

Вы должны заключить свой оператор switch в квадратные скобки (как для метода):

switch(option) {

...

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

}
...