java - 使用银行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 中的行相同的问题,找不到符号。如果有人可以帮助我,我会非常感激谢谢
解决方案
class userAccount
{
int currentBalance;
int custName;
int custID;
int lastTransaction;
userAccount(String cname,String cid)
{
custName = cname;
cardNumber = cid;
}
您声明custName
为 int,但在构造函数中您尝试分配cname
给它,它是一个字符串。
你还没有声明cardNumber
。
推荐阅读
- asp.net - 无法从 IActionModelConvention 实施的应用方法中的授权属性访问角色
- php - 将一对多关系更改为多对多关系?
- ios - 将 JSON 响应分配给模型 SwiftUI
- android - 以编程方式禁用浮动操作按钮
- xslt - XSL fo:block long word not wrap in table cell
- javascript - 在任何地方使用 CORS 进行请求时缺少所需的请求标头
- c++ - 模板类中的模板成员函数特化
- python - 在python中计算一致的重复项?
- python - 使用“request.POST.get”从复选框获取多个数据
- ios - 快速的领域,出现错误“表达式类型'()'在没有更多上下文的情况下模棱两可”