当前位置: 首页 > 知识库问答 >
问题:

我如何在做取款和存款后更新余额(取款,存款,余额查询)java

许子平
2023-03-14

我有一个java的家庭作业。我的任务是建立一个可以取款、存款和查询余额的银行。我的问题是在存款和取款后我无法更新我的余额...我已经尝试了我能做的一切,但仍然无法得到逻辑。有人可以帮助添加到我的程序中吗...谢谢

import java.util.Scanner;

public class bankJava 
{

    Scanner input = new Scanner(System.in);


    double balance;
    double amount;

    public void withdraw() 
    {

        System.out.println("Enter amount: ");
        amount = input.nextInt();

        balance = balance - amount;


    }

    public void deposit()
    {

        System.out.println("Enter amount: ");
        amount = input.nextInt();
        balance = balance + amount;

    }

    public void accBalance()
    {


    }



}

---------------------------------主要的--------------------------------

import java.util.Scanner;

public class bankJavaTest {

    public static void main(String[] args){

        Scanner input = new Scanner(System.in);

        int action;

        bankJava wdraw = new bankJava();
        bankJava dposit = new bankJava();
        bankJava balanceInquiry = new bankJava();
        bankJava amount = new bankJava();

        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******");
            wdraw.withdraw();
            System.out.println("***************************");


            break;

        //---------DEPOSIT------------//
        case 2 :

            System.out.println("******Deposit******");
            dposit.deposit();
            System.out.println("***************************");
            break;

        //-----------Balance Inquiry-------//
        case 3 :

            System.out.println("******Balance Inquiry******");
            balanceInquiry.accBalance();
            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);

    }


}

共有2个答案

花欣然
2023-03-14
import java.util.Scanner;

public class BankJava {

    double balance = 0;
    double amount;

    public void withdraw(int amount) {

        balance = balance - amount;

    }

    public void deposit(int amount) {

        balance = balance + amount;
    }

    public double showBalance() {
        return balance;
    }


    public static void main(String[] args) {
        BankJava bank = new BankJava();
        Scanner input = new Scanner(System.in);
        int action;
        int amount;
         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******");
                    System.out.println("enter amount:");
                    amount = input.nextInt();
                    bank.withdraw(amount);
                    System.out.println("***************************");
                    System.out.println("Your balance is now: " + bank.showBalance());
                    break;

                //---------DEPOSIT------------//
                case 2 :

                    System.out.println("******Deposit******");
                    System.out.println("enter amount:");
                    amount = input.nextInt();
                    bank.deposit(amount);
                    System.out.println("***************************");
                    System.out.println("Your balance is now: " + bank.showBalance());
                    break;

                //-----------Balance Inquiry-------//
                case 3 :

                    System.out.println("******Balance Inquiry******");
                    System.out.println("Your balance is: " + bank.showBalance());
                    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);

            }
    }

试试这个代码,与你的代码进行比较,找出问题所在,如果你需要更多帮助,也可以问我

于恺
2023-03-14

你为什么要安装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);

    }


}

现在应该可以了。根据你的密码,你有四家不同的银行,一家只用于存款,一家只用于取款等等。因此,一家银行将继续增加资金,另一家银行将继续减少负利率。

Morover amount参数不应该是JavaBank参数,但是在每个方法中都有一个局部变量,这样它就不会定义银行。

差不多

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;

}

我还建议更改输入。带有输入的nextInt()。nextDouble()这样就可以创建一个双倍的金额。

如果您没有看到平衡查询,显然是因为您的accBalance()方法为空。像这样编辑它:

public void accBalance(){
System.out.println("Your balance is: "+this.balance);
}
 类似资料:
  • 我正在为一个在线购物网站实施stripe,该网站在“余额”系统上运行,用户在该系统中输入他们想在交易余额中存入的金额,并提交信用卡信息进行存款。 我不知道如何避免在付款确认时进行两次连续的api调用stripe:一次使用html表单中的存款当前值更新付款金额,一次确认付款意图。 以下是我理解的限制条件: Stripe需要创建一个支付意图,以便用他们的信用卡表单填充iframe 为了简化存款体验,我

  • 说明 微信查询退款SDK。 官方文档:https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_5 类 请求参数类 请求参数 类名:\Yurun\PaySDK\Weixin\RefundQuery\Request 属性 名称 类型 说明 $_apiMethod string 接口名称 $transaction_id string 微

  • 用户通过接口自助查询账户余额 获取余额API调用示例代码 github地址: https://github.com/picup-shop Java Python c-Url @Autowired private RestTemplate restTemplate; HttpHeaders headers = new HttpHeaders(); headers.add("APIKEY","IN

  • 我设计了一个程序,当用户输入“y”时,当询问他们是否希望继续时,它将重新运行。我遇到的问题是,一旦用户输入“n”,程序就应该显示从购买的所有票证选项中支付的总金额。我花了几个星期的时间在这个问题上,不确定下一步该怎么办。我只包含了代码的底部。我还附上了一张照片,以便在程序运行时显示我的问题。 这是我的代码:

  • 贝宝快递结账API文档规定,“买家的交易总成本”(PAYMENTREQUEST_n_AMT)不能超过10,000美元。看到这里... https://developer.paypal.com/docs/classic/api/merchant/SetExpressCheckout_API_Operation_NVP 我希望为一个奢侈品电子商务网站实施快速结账,其中许多项目超过10,000美元。 是