首页 > 其他分享 >定义类——定义银行账户类Account

定义类——定义银行账户类Account

时间:2024-03-15 20:32:13浏览次数:16  
标签:Account 定义 账户 double id money balance public

定义一个类Account表示银行账户,Account类的要求如下:
1、private的成员变量id表示账户账号,private的成员变量balance表示账号余额
2、两个构造器,一个初始化账号id,默认余额为0.0;另一个初始化账号id和余额,具体可参考Main类中的调用;
3、公有方法save(double money)表示存钱,实现向账户中存入指定金额的钱;
4、公有方法withdraw(double money)表示取钱,实现从账户中取出指定金额的钱,但如果账户余额不够的话就不进行取钱操作;
5、两个成员的变量的getter方法;

ps: getter方法是指读取私有成员变量的值的公有方法,可自行查找资料。

函数接口定义:

定义类Account
class Account{
}

Main类代码:

public class Main {
   public static void main(String[] args) {
        Account account1 = new Account("10001");
       account1.save(100);//账户1存入100元
       Scanner scanner = new Scanner(System.in);
       String id = scanner.next();
       double balance = scanner.nextDouble();
       Account account2 = new Account(id,balance);
       account2.withdraw(500); //账户2取出500元
       System.out.println("账户:"+account1.getId()+"的余额是:"+account1.getBalance());
       System.out.println("账户:"+account2.getId()+"的余额是:"+account2.getBalance());
   }
}

输入样例:

输入一个账户的账号ID和余额值,用于初始化一个账户对象,比如:10012 1000.0

10012 1000.0

输出样例:

输出账户10001的余额和账户10012的余额
例如:

账户:10001的余额是:100.0
账户:10012的余额是:500.0

其他测试用例

image.png

孰能生巧,这次是定义类 与判断语句结合

还是一个一个模块儿来:

定义属性:

瞅一眼main类代码,看看相应的类型:

 代码如下:

    private String id;
    private double balance;

定义构造器:初始化成员变量

构造器:特殊方法,有类名() {   },但无返回类型,参数数量及类型由(main里面)new调用构造器里面的参数决定

第一个构造器传了一个String类型的实参,代码如下:

public Account(String id1)//尽量传参名字不与成员变量相撞
    {
        id = id1;
        balance = 0.0;
    }

 第二个构造器看一眼传参顺序和类型:

代码如下:

public Account(String id2,double balan)
    {
        id = id2;
        balance = balan;
    }

定义方法:

存钱 

存钱方法无返回值,只是存钱。

余额 = 上一次 + 存款金额

 public double save(double money)
    {
     balance = balance + money;
    }//存钱方法

取钱 

取钱的时候有个判断,题目上说要取出的金额大于你的余额就不进行该操作。

那我们就只写一个if就行。

public void withdraw(double money)//并未要求大写和返回类型(以题干为主)
    {
        if(money <= balance)
            balance = balance - money;

    }

 两个成员变量的getter方法:

 public String getId()//getter方法是指读取私有成员变量的值的公有方法
    {
        return id;
    }
    public double getBalance()
    {
        return balance;
    }

完整代码参考:

class Account{
    private String id;
    private double balance;
    public Account(String id1)
    {
        id = id1;
        balance = 0.0;
    }

    public Account(String id2, double balan) {
        id = id2;
        balance = balan;
    }
    public void save(double money)
    {
     balance = balance + money;

    }
    public void withdraw(double money)
    {
        if(money <= balance)
            balance = balance - money;

    }
    public String getId()//getter方法是指读取私有成员变量的值的公有方法
    {
        return id;
    }
    public double getBalance()
    {
        return balance;
    }

题外话:定义类的概要知识入口 

定义类:定义一个类Square表示正方形-CSDN博客

标签:Account,定义,账户,double,id,money,balance,public
From: https://blog.csdn.net/2301_80682565/article/details/136748371

相关文章

  • 函数方法定义
    publicclassday_5_1{publicstaticvoidmain(String[]args){/*方法,函数什么是方法?具有特定功能的一段独立小程序方法作用?1,提高了代码的复用性2,提高了代码的维护性方法的定义格式?......
  • Qt Charts 自定义样式
    QtCharts是Qt框架中用于创建图表和图形可视化的模块,它提供了一些内置的图表类型,如折线图、柱状图、饼图等。如果你想要自定义QtCharts中图表的样式,你可以使用一些方法来实现。以下是一些自定义QtCharts样式的方法:1、使用QChart的样式属性: QtCharts中的QChart类具有许多属性......
  • SOLIDWORKS参数化工具自定义设置小技巧 慧德敏学
    利用SOLIDWORKS参数化工具-SolidKits.AutoWorks,我们可以实现产品的一键改型、打包、编码、出BOM。整个流程大家都已经非常熟悉了,但是参数化工具的设置你可能还没有留心,加入你想自定义产品选型的分类名称,那在设置中就可以轻松实现。软件中,产品分类的默认名称为产品大类、产品小类......
  • vue 3+TS 封装自定义右键全局菜单(虚拟节点)
    有时我们需要点击(右键或左键)某个元素时弹出菜单,实现复制、粘贴、删除等功能。本文将介绍如何封装一个自定义的右键全局菜单(无三方依赖)。封装的菜单可自定义菜单项,图标,禁用,分割线,隐藏等。并且可以在全局任意地方使用。源码在文章末尾。效果使用<template><div>......
  • 塑造自己的神器——vim的自定义配置
    本文结构:1、简介2、配置文件所在位置3、语法解释及简单的配置示例4、常用配置选项1.简介:Vim编辑器的配置文件是vimrc,它允许用户自定义Vim的行为,包括快捷键、颜色方案、插件加载等。Vim在启动时会自动加载vimrc文件,从而应用用户定义的设置。2.vimrc的位置:vimrc......
  • element ui 自定义的快捷选项的日期选择器并格式化
    效果图时间日期选择器(el-date-picker)设置为段时间:type="datetimerange"规范格式:format="yyyy-MM-dd"value-format="yyyy-MM-dd"1.给日期选择器el-date-picker标签添加picker-options属性,传入变量pickerOptions<el-date-picker//日期选择器v-model="timeCyc......
  • QT6.6下android编译及调用自定义so库方法
    一.问题概述   最近需要把QT程序从5.12的桌面环境移植到QT6.6的android下,项目中有很多DLL库要重新编译为so文件,移植到android环境然后调用,中间有很多坑,虽然大体和桌面系统用法相同,但细节上还是有区别的,尤其是so库的调用方法上,过程中也是debug了两天才解决,如果你也遇到了同......
  • 【ARMv8】异常级别的定义EL0、EL1、EL2、EL3
    ExceptionlevelsARMv8-A系列定义了一系列的异常等级,从EL0到EL3,下面具体说明其含义:ELn中,随着n的增加,软件的执行权限也相应的增加;EL0被称为无特权执行;EL2提供了对虚拟化的支持EL3提供了安全状态切换功能(安全状态与非安装状态之间的切换)异常级别的切换在AARCH64状态下,异常......
  • 【PG】创建数据库,账户以及schema
    #!/bin/bash#Checkifrunningasthepostgresuserif[["$USER"!="postgres"]];thenecho"Error:Thisscriptmustberunasthepostgresuser."exit1fi#Checkinputparametersif[$#-ne3];thenecho"......
  • QT 自定义QGraphicsItem 缩放后旋转 图形出现漂移问题
    实现自定义QGraphicsItem缩放和旋转时,遇到了这样一个问题:将item旋转一个角度,然后拖拽放大,再次进行旋转时图像会发生漂移。原本以为是放大后中心点位置没有改变,导致旋转时以原中心的旋转出现了偏移,但是重新设置旋转中心setTransformOriginPoint(rect.center());并没有起作用,图像......