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

Posted

技术标签:

【中文标题】编程新手。构建简单的银行应用程序 - 令牌“;”上的语法错误, 预期。 - Eclipse 中的错误(包括代码)【英文标题】:New to programming. Building simple Banking Application - Syntax error on token ";", expected. - Error in Eclipse (code included)编程新手。构建简单的银行应用程序 - 令牌“;”上的语法错误, 预期。 - Eclipse 中的错误(包括代码) 【发布时间】:2020-06-21 00:27:40 【问题描述】:

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

我收到一个错误:令牌“;”上的语法错误,预期

我已经在下面的代码中概述了错误的位置。

我尝试过的事情:

    我看了看牙套,我觉得它们很好。 我在这里查看了其他类似的问题,但它们似乎没有帮助。 谷歌搜索仍然无法弄清楚是什么导致了这个令人沮丧的错误。 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");


        

【问题讨论】:

` //error` - 为什么有这个左括号? 你在使用任何 IDE 吗? @AMA 你认为标题没有回答你的问题吗? 然后 ide 会告诉你错误在哪里如果仔细观察 switch(option) 之后有缺少 如何使用switch statement。 【参考方案1】:

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

switch(option) 

...

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


【讨论】:

以上是关于编程新手。构建简单的银行应用程序 - 令牌“;”上的语法错误, 预期。 - Eclipse 中的错误(包括代码)的主要内容,如果未能解决你的问题,请参考以下文章

如何生成Vimeo未经身份验证的访问令牌?

[首发]国内某大型银行的持续集成与交付实践

简单的死锁示例

刷新德意志银行 API 访问令牌

节点刷新令牌为啥不在后端刷新

未在 iOS 10 上为基于 XCode 7.3 构建的应用程序生成设备令牌