Почему вы устанавливаете 4 разных JavaBank?Делая это для каждой операции, вы будете выполнять каждый метод в отдельном объекте.Если я хорошо понимаю ваш вопрос, я думаю, что вы могли бы легко решить вашу проблему, работая в том же объекте.
import java.util.Scanner;
public class bankJavaTest {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int action;
bankJava myJavaBank = new bankJava(); //creating the bank
do{
System.out.println("Choose Action: ");
System.out.println("(1) Withdraw");
System.out.println("(2) Deposit");
System.out.println("(3) Balance Inquiry");
System.out.println("(4) Exit");
action = input.nextInt();
switch(action){
//---------WITHDRAW------------//
case 1 :
System.out.println("******Withdraw******");
myJavaBank.withdraw(); //withdrawing from it
System.out.println("***************************");
break;
//---------DEPOSIT------------//
case 2 :
System.out.println("******Deposit******");
myJavaBank.deposit(); //deposit from it
System.out.println("***************************");
break;
//-----------Balance Inquiry-------//
case 3 :
System.out.println("******Balance Inquiry******");
myJavaBank.accBalance();
//You don't post this method but I suppose it will refer to the same bank
System.out.println("***************************");
break;
case 4 :
System.out.println("Thank you for choosing our bank!");
break;
default :
System.out.println("Invalid action.");
break;
}
}while(action != 4);
}
}
Теперь должно работать.С вашим кодом у вас было 4 разных банка, один только для депозита, один только для вывода и так далее.Таким образом, один банк будет продолжать увеличивать деньги, а другой - продолжать уменьшаться.Банк не определяет.
Что-то вроде
public class bankJava
{
Scanner input = new Scanner(System.in);
double balance;
public void withdraw()
{
System.out.println("Enter amount: ");
double amount = input.nextInt();
balance = balance - amount;
}
public void deposit()
{
System.out.println("Enter amount: ");
double amount = input.nextInt();
balance = balance + amount;
}
Я также предлагаю изменить input.nextInt()
на input.nextDouble()
, чтобы вы создали сумму какdouble.
Если вы не видите запрос баланса, очевидно, у вас пустой метод accBalance ().Отредактируйте это так:
public void accBalance(){
System.out.println("Your balance is: "+this.balance);
}