首页 > 解决方案 > 使用银行App切换功能出错

问题描述

所以这是我的代码:

import java.util.Scanner;

public class HCA {

    public static void main (String [] args) {
        
        userAccount obj1 = new userAccount ("User", "A20000B");
        obj1.userDashboard();   
    }
}

class userAccount
{
    int currentBalance;
    int custName;
    int custID;
    int lastTransaction;
    
    userAccount(String cname,String cid)
    {
        custName = cname;
        cardNumber = cid;
    }
    
    void deposit (int amount)
    {
        if(amount != 0)
        {
        currentBalance = currentBalance + amount;
        lastTransaction = amount;
        }
    }
    
    void withdraw (int amount)
    {
        if(amount != 0)
        {
        currentBalance = currentBalance - amount;
        lastTransaction = -amount;
        }
    }
    
    void getlastTransaction ()
    {
        if(lastTransaction > 0)
        {
            System.out.println ("You just deposited: "+lastTransaction);
        }
        else if (lastTransaction < 0)
        {
            System.out.println ("You just withdrawn: "+Math.abs(lastTransaction));
        }
        else
        {
            System.out.println ("There is no transaction processed yet");
        }
    }
    
    void userDashboard()
    {
        char option = '\0';
        Scanner in = new Scanner (System.in);
        
        System.out.println ("Welcome, +custName!");
        System.out.println ("What transaction would you like to make today?");
        System.out.println ("Please confirm that this is your card number : +cardNumber");
        System.out.println ("*****************");
        System.out.println ("Let's start the transaction!");
        System.out.println ("A. Current Balance");
        System.out.println ("B. Deposit");
        System.out.println ("C. Withdraw");
        System.out.println ("D. View Last Transaction");
        System.out.println ("E. Exit App");
        
        
        do
        {
            System.out.println ("*********************");
            System.out.println ("Please enter an option");
            System.out.println ("*********************");
            choice = scanner.next().charAt(0);
            System.out.println ("\n");
            
            switch(choice)
            
            {
            case 'A':
            System.out.println ("********************");
            System.out.println ("Your current account's balance is: "+currentBalance);
            System.out.println ("********************");
            System.out.println ("\n");
            
            case 'B':
            System.out.println ("********************");
            System.out.println ("Please enter the amount you'd like to deposit:");
            System.out.println ("********************");
            int amount1 = scanner.nextInt();
            deposit(amount1);
            System.out.println ("\n");
            break;
            
            case 'C':
            System.out.println ("********************");
            System.out.println ("Please enter the amount you'd like to withdraw:");
            System.out.println ("********************");
            int amount2 = scanner.nextInt();
            withdraw(amount2);
            System.out.println ("\n");
            break;
            
            case 'D':
            System.out.println ("********************");
            getlastTransaction();
            System.out.println ("********************");
            System.out.println ("\n");
            break;
            
            }
            
        } 
        while (option != 'E');
        
        System.out.println ("Thank you for using HCA Banking, have a great day!");  
            
            
            }
        }

custName 有问题,它说 String 不能转换为 Int,但是我只要求 custName 变量中的字符串。cardNumber = cid 也不起作用,因为它说找不到符号以及 81-84 中的行相同的问题,找不到符号。如果有人可以帮助我,我会非常感激谢谢

标签: java

解决方案


class userAccount
{
    int currentBalance;
    int custName;
    int custID;
    int lastTransaction;

    userAccount(String cname,String cid)
    {
        custName = cname;
        cardNumber = cid;
    }

您声明custName为 int,但在构造函数中您尝试分配cname给它,它是一个字符串。

你还没有声明cardNumber


推荐阅读