java - 编程新手。构建简单的银行应用程序 - token ";"上存在语法错误,{预期。 - Eclipse 中的错误(包含代码)

标签 java eclipse banking

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

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

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

我尝试过的事情:

  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");


        }
}

最佳答案

您需要将 switch 语句封装在方括号中(就像方法一样):

switch(option) {

...

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

}

关于java - 编程新手。构建简单的银行应用程序 - token ";"上存在语法错误,{预期。 - Eclipse 中的错误(包含代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60595069/

相关文章:

java - 在 ant 中启用断言

java - 设置像这样的属性时,Spring boot 不会读取配置属性 "export my_variable=something"

java - 如何从JAVA文件中读取特定用户ID的最后一个条目

android - import android.support.v13.app.FragmentActivity 无法解析

金融机构的Java类表示?

java - else if {.. 和 else { if( 的区别

java - 如何在 org.junit 下的 Eclipse 中创建测试套件

mysql - 尝试更改数据库中的字段名称并收到错误

financial - SWIFT ACK 报文解析

php - 如何开发网络应用程序进行在线销售