一条有理想的鱼… 2021-10-25 14:13 采纳率: 100%
浏览 34
已结题

JAVA中if调运结果不能在下一个if中运用


package BANK;
import java.util.Scanner;
public class BankAccount {
    int account_number;
    double leftmoney;
    public double getleftmoney() {
        return leftmoney;
    }
    public void savemoney(double money) {   //存款
        leftmoney+=money;
    }
    public void getmoney(double money) {   //取款
        leftmoney-=money;
    }
    public BankAccount(int number,double money) {
        account_number=number;
        leftmoney=money;
    }
    public static void main(String[] args) {
        while (true){
            System.out.println("----------------------------");
            System.out.println("-----------1.开户------------");
            System.out.println("-----------2.存款------------");
            System.out.println("-----------3.取款------------");
            System.out.println("-----------0.退出------------");
            System.out.println("----------------------------");
        Scanner a = new Scanner(System.in);
        System.out.println("请选择");
        int input = a.nextInt();
        BankAccount ba=new BankAccount(123456,500);   //输入账号与初始金额 
        if(input == 1) {
            System.out.println("---------你选择了1.开户---------");
            System.out.println("您的账号为123456");
            System.out.println("您的初始额为500");
        }
        if(input == 2) {
            System.out.println("---------你选择了2.存款---------");
            ba.savemoney(1000);
            System.out.println("存入1000元后,你的余额为"+ba.getleftmoney());
        }
        ba.savemoney(1000);
        if(input == 3) {
            System.out.println("---------你选择了3.取款---------");
            ba.getmoney(800);
            System.out.println("取出800元后,你的余额为"+ba.getleftmoney());
        }
        if(input == 0) {
            System.out.println("---------你选择了0.退出---------");
            break;
        }
    }
}
}

System.out.println("存入1000元后,你的余额为"+ba.getleftmoney());此句代码运行后所得的ba.getleftmoney不能在3.取款模式中实现;
因此加上再一次ba.savemoney(1000);之后,就可以在取款模式中实现;
因此有啥解决的好办法、此问题出现的原因!

img

  • 写回答

3条回答 默认 最新

  • maradona1984 2021-10-25 14:33
    关注

    每次循环你都BankAccount ba=new BankAccount(123456,500);
    相当于重新初始化银行账户了,你可以考虑把实例化BankAccount对象的操作挪到while循环外面来

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月28日
  • 已采纳回答 10月28日
  • 创建了问题 10月25日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。