一顾鸭 2019-10-25 11:11 采纳率: 100%
浏览 220
已采纳

JAVA 查询余额的时候,为什么总是有您的账户已注销,其他都好

查询余额的时候总是有,您的账户已销毁,其他的查询都是对的。

图片说明

package 第二次上机实验JAVA;

import java.util.Scanner;

public class Account {  //声明Account类
    private String id; //账号
    private String name;//姓名
    private double balance;
    //账户里的余额
    private String identitycard;//身份证号码
    private String opentime;

//构造方法,开户
public Account(String id,String name,String opentime,String identitycard,double balance)
{
    this.id=id;
    this.name=name;
    this.balance=balance;
    this.identitycard=identitycard;
    this.opentime=opentime;
    System.out.println("开户成功!\n"+this.name+"欢迎您!");
}


//账户注销
public void destroy()   //finalize
{
    System.out.println(this.name+"您的账户已销毁!");
}


//开始向账户里存钱,若金额>0就存
public void income(double money){
    if(money>0){
        this.balance=this.balance+money;
        System.out.println("存款成功!");
    }else
        System.out.println("存款失败!");
}


//开始从账户里取钱
public void takeout(double money){
    if(money<=this.balance){
        this.balance=this.balance-money;
        System.out.println("取款成功!");
    }else
        System.out.println("余额不足,取款失败!");
}

public void showbalance()//显示余额
{
    System.out.println("余额为:"+this.balance);
}



public void show(){
    System.out.println("您的开户信息为:\n账号:"+this.id+"开户时间:\t"+this.opentime+"身份证号码:\t"+this.identitycard);
}



    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        Account a = new Account("0001\n","小明","2019-10-01\n","32112xxxxxxxxxxxx\n",520000);
        a.show();
        System.out.println("请选择操作:0 退出,1 存款,2 取款,3 查询余额,4 注销账号");
        while(true)
        {
            Scanner sc = new Scanner(System.in);
            int i=sc.nextInt();
            switch(i){
                case 0:
                    System.out.println("欢迎下次光临!");
                    System.exit(0);
                    break;
                case 1:
                    System.out.println("请输入存款金额:");
                    double money1=sc.nextInt();
                    a.income(money1);
                    break;
                case 2:
                    System.out.println("请输入取款金额:");
                    double money2=sc.nextInt();
                    a.takeout(money2);
                    break;
                case 3:
                    a.showbalance();
                case 4:
                    a.destroy();

            }
        }
    }

}

  • 写回答

3条回答 默认 最新

  • _鹿慕溪水 2019-10-25 11:19
    关注

    case3在调用查询方法后加上break,如果不加break,程序会匹配case3后面的所有选项,也就是case4也会执行

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

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?