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

如何设置透支限额

商振
2023-03-14

我试图做的是设置一个透支限额,即-150。如果用户余额为-150,则用户不能再提取。我的代码如下:

撤回方法

public void Withdraw(double amount){


    if (amount + 5 > balance ){ //If amount and transaction fee is greater than balance then apply for overdraft
        System.out.println("Insufficent funds");
        System.out.println("Would you like to apply for an ovedraft?");
        System.out.println("1:Yes");
        System.out.println("2:No, return me back to menus");
        Choice = Option.nextLine();
        if (Choice.equalsIgnoreCase("1")){
         if((balance = balance - amount+5)<=-150){   //If balance is grater than 150 , apply for overdraft
             System.out.println("You have exceeded your Overdraft Limit, you will now be returned back to the menus");
         return;

        }
        else{ //if not exceeding bank balance
            balance -= amount + 5; 
            System.out.println("You have withdrawen £" + amount);
            System.err.println("You now have a balance of £" +balance);
            return; 
        }
    }
}

}

它们都属于同一类,即“Account”,现在发生的情况是,消息确实出现了-(“您已经超过了透支限额,您现在将返回菜单”)并返回菜单,但当我去检查余额时,钱仍然被扣除,并显示超过-150的余额,例如-190。我如何才能确定-150是限额,并且不再扣除。希望问题被理解。

共有3个答案

颜云瀚
2023-03-14

除了以上所有答案,我还将添加以下内容:

如果我有1美元,我透支了50美元,那么我的账户可以是

1美元-55美元=-54美元

但是有这个条件在这里是不可能的

if (amount + FEES > balance) { // If amount and transaction fee is greater than balance then apply for overdraft
System.out.println("Insufficent funds");
萧自珍
2023-03-14

if((余额=余额-金额5)

其次,你实际上是在改变你这里的平衡(=赋值运算符)。你也写了

if(余额-(金额5)

单于帅
2023-03-14

问题是:

if ((balance = balance - amount + 5) <= -150) {

这里的关键是=。这是在支票前分配新金额。

像这样的事情可能会避免这个问题。

    if (balance - amount - 5 < 0) {
        System.out.println("Insufficent funds");
        System.out.println("Would you like to apply for an ovedraft?");
        System.out.println("1:Yes");
        System.out.println("2:No, return me back to menus");
        Choice = Option.nextLine();
        if (Choice.equalsIgnoreCase("1")) {
            if (balance - amount - 5 <= -150) {
                System.out.println("You have exceeded your Overdraft Limit, you will now be returned back to the menus");
            } else { //if not exceeding bank balance
                balance -= amount + 5;
                System.out.println("You have withdrawen £" + amount);
                System.err.println("You now have a balance of £" + balance);
            }

注意更明确的计算(if(余额-金额-5

 类似资料:
  • 问题内容: 我正在使用拥有者设置为的Apache Web服务器。我永远都不知道文件权限的最佳做法是什么,例如,当我创建新的Laravel 5项目时。 Laravel 5要求文件夹可写。我发现了很多不同的方法可以使其正常工作,而我通常以递归方式使其成为chmod。我知道这不是最好的主意。 官方文件说: Laravel可能需要配置一些权限:Web服务器中的文件夹, 并且需要Web服务器进行写访问。 这

  • 我使用的Apache Web服务器的所有者设置为。我从来不知道什么是文件权限的最佳实践,例如当我创建新的Laravel5项目时。 Laravel 5要求文件夹是可写的。我发现了许多不同的方法来使其工作,我通常以递归地使其chmod结束。我知道这不是最好的主意。 官方文件说: Laravel可能需要配置某些权限:和中的文件夹需要web服务器的写访问权限。 这是否意味着web服务器也需要访问和文件夹本

  • 本文向大家介绍android如何设置Activity背景色为透明色,包括了android如何设置Activity背景色为透明色的使用技巧和注意事项,需要的朋友参考一下 一直听说透明效果的activity,到底长啥样呢?来张图看看,上面这个白色背景的就是 方法一 在res/values/styles.xml,设置Activity的样式 color Manifest.xml中添加 这样就给你的acti

  • 如何在Android系统中使用为跨文本设置alpha/不透明度?我想在一个

  • 如何将背景颜色设置为透明