#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
.