Ошибка при использовании функции переключения в банковском приложении

#java

#java

Вопрос:

Итак, вот мой код:

 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 = '';
        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, в нем говорится, что строка не может быть преобразована в Int, однако я запрашиваю только строку в переменной custName.
cardNumber = cid также не работает, поскольку в нем говорится, что не удалось найти символ
, а также строки из 81-84. та же проблема, символ не может быть найден.
если кто-то может мне помочь, я буду очень признателен, спасибо

Ответ №1:

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

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

Вы объявляете custName как int , но в конструкторе вы пытаетесь присвоить cname ему значение, которое является строкой.

Вы не объявили cardNumber .