Java编程练习之类的继承

1.创建银行卡类,并分别设计两个储蓄卡和信用卡子类。

 import javax.swing.plaf.BorderUIResource;import java.util.Scanner;class Card {int Id;   //银行卡;int password;  //密码;double balance=2000; //账户存款金额;String AccountType;public boolean Login(String AccountType){boolean result=false;// String AccountType1="储蓄卡";// String AccountType2="信用卡";Scanner sc=new Scanner(System.in);for(int i=0;i<4;i++) {if (AccountType.equals("储蓄卡")) {System.out.println("请您输入储蓄卡密码:");password=sc.nextInt();if(result=(password==123456)){System.out.println("储蓄卡密码输入正确,正在加载中,请您耐心等待……");return result;}else if(i<2&&password!=123456){System.out.println("储蓄卡密码输入错误");}else{System.out.println("储蓄卡密码连续3次输入错误,您的账号已被锁定,请您24小时后重试");}} else if (AccountType.equals("信用卡")) {System.out.println("请您输入信用卡密码:");password=sc.nextInt();if(result=(password==234567)){System.out.println("信用卡密码输入正确,正在加载中,请您耐心等待……");return result;}else if(i<2&&password!=234567){System.out.println("信用卡密码输入错误");}else{System.out.println("信用卡密码连续3次输入错误,您的账号已被锁定,请您24小时后重试");}} else {System.out.println("本系统暂不支持此类银行卡的登陆!");}}return false;}//存款方法public  void Savemoney(){double money;Scanner m=new Scanner(System.in);System.out.println("请输入存款金额:");money=m.nextDouble();System.out.println("请确认存款金额:"+money+"元。");balance=balance+money;//System.out.println("恭喜您存款成功,当前账户的存款金额为:"+balance+"元。");System.out.println("恭喜您存款成功,当前账户的存款金额为:"+balance+"元。");}}
class Card2 extends Card{double money;double maxOverdraf=20000;//最大透支额度;void Withdraw(){double money;Scanner m1=new Scanner(System.in);System.out.println("请输入取款金额:");money=m1.nextDouble();if(money<=balance+maxOverdraf){System.out.println("请您确认取款金额:" + money + "元。");double account=balance-money;System.out.println("account:"+account);if(account<=0){System.out.println("当前账户剩余金额为:" + 0+ "元。");maxOverdraf=maxOverdraf+account;
//                System.out.println("money:"+money);
//                System.out.println("balance:"+balance);
//                System.out.println("maxOverdraf:"+maxOverdraf);System.out.println("当前账户剩余透支金额为:" + maxOverdraf + "元。");}else{
//                System.out.println("money:"+money);
//                System.out.println("balance:"+balance);
//                System.out.println("maxOverdraf:"+maxOverdraf);System.out.println("当前账户剩余金额为:" + account + "元。");System.out.println("当前账户剩余透支金额为:" + maxOverdraf + "元。");}}else{double account=money-balance-maxOverdraf;System.out.println("您的账户已透支,透支金额为:" + account+ "元,您取款失败。");}}}class Card1 extends Card {  //储蓄卡double money;private void Withdraw() {double r;double money;Scanner m=new Scanner(System.in);System.out.println("请输入取款金额:");money=m.nextDouble();if (money <= balance) {System.out.println("请您确认取款金额:" + money + "元。");balance = balance - money;System.out.println("恭喜您取款成功,账户剩余金额为" + balance + "元。");} else {System.out.println("请确认取款金额:"+money+"元。");r= money-balance;System.out.println("您的账户余额不足,还差"+r+"元。");}}
public static void main(String[] args){String yewu;String AccountType;  //银行卡账户类型;Card1 c1=new Card1();Card2 c2=new Card2();Scanner sc1=new Scanner(System.in);System.out.println("请您选择银行卡类型:");AccountType=sc1.nextLine();if(AccountType.equals("储蓄卡")){boolean cL=c1.Login(AccountType);if(cL) {System.out.println("请您选择业务类型:");yewu = sc1.nextLine();if(yewu.equals("取款")){// int money=sc1.nextInt();c1.Withdraw();}else if(yewu.equals("存款")){//int money=sc1.nextInt();c1.Savemoney();}else{System.out.println("本系统暂不支持此业务!");}}else{System.out.println("储蓄卡登陆失败。");}}else if(AccountType.equals("信用卡")){boolean cL1= c2.Login(AccountType);if(cL1) {System.out.println("请您选择业务类型:");yewu = sc1.nextLine();if(yewu.equals("取款")){// int money=sc1.nextInt();c2.Withdraw();}else if(yewu.equals("存款")){//int money=sc1.nextInt();c2.Savemoney();}else{System.out.println("本系统暂不支持此业务!");}}else{System.out.println("储蓄卡登陆失败。");}}else{System.out.println("本系统暂不支持此银行卡类型!");}}}储蓄卡子类效果:信用卡子类效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/255990.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【SpringBootStarter】自定义全局加解密组件

【SpringBootStarter】 目的 了解SpringBoot Starter相关概念以及开发流程实现自定义SpringBoot Starter(全局加解密)了解测试流程优化 最终引用的效果&#xff1a; <dependency><groupId>com.xbhog</groupId><artifactId>globalValidation-spring…

《MySQL 简易速速上手小册》第3章:性能优化策略(2024 最新版)

文章目录 3.1 查询优化技巧3.1.1 基础知识3.1.2 重点案例&#xff1a;电商平台商品搜索3.1.3 拓展案例 1&#xff1a;博客平台的文章检索3.1.4 拓展案例 2&#xff1a;用户登录查询优化 3.2 索引和查询性能3.2.1 基础知识3.2.2 重点案例&#xff1a;电商平台的订单历史查询3.2.…

Java中“==”和equals方法的区别

目录 一、“”举例 二、equals举例 区别如下&#xff1a; &#xff08;1&#xff09;“”既可以用在基本数据类型&#xff0c;也可以用在引用数据类型&#xff1b;如果用在基本数据类型上&#xff0c;那么比较时比较的是具体的值&#xff0c;如果用在引用数据类型&#xff0c…

React+Antd实现省、市区级联下拉多选组件(支持只选省不选市)

1、效果 是你要的效果&#xff0c;咱们继续往下看&#xff0c;搜索面板实现省市区下拉&#xff0c;原本有antd的Cascader组件&#xff0c;但是级联组件必须选到子节点&#xff0c;不能只选省&#xff0c;满足不了页面的需求 2、环境准备 1、react18 2、antd 4 3、功能实现 …

创建一个VUE项目(vue2和vue3)

背景&#xff1a;电脑已经安装完vue2和vue3环境 一台Mac同时安装vue2和vue3 https://blog.csdn.net/c103363/article/details/136059783 创建vue2项目 vue init webpack "项目名称"创建vue3项目 vue create "项目名称"

没更新的日子也在努力呀,布局2024!

文章目录 ⭐ 没更新的日子也在努力呀⭐ 近期的一个状态 - 已圆满⭐ 又到了2024的许愿时间了⭐ 开发者要如何去 "创富" ⭐ 没更新的日子也在努力呀 感觉很久没有更新视频了&#xff0c;好吧&#xff0c;其实真的很久没有更新短视频了。最近的一两个月真的太忙了&#…

Linux(Ubuntu) 环境搭建:Nginx

注&#xff1a;服务器默认以root用户登录 NGINX 官方网站地址&#xff1a;https://nginx.org/en/NGINX 官方安装文档地址&#xff1a;https://nginx.org/en/docs/install.html服务器的终端中输入以下指令&#xff1a; # 安装 Nginx apt-get install nginx # 查看版本信息 ngi…

Java:字符集、IO流 --黑马笔记

一、字符集 1.1 字符集的来历 我们知道计算机是美国人发明的&#xff0c;由于计算机能够处理的数据只能是0和1组成的二进制数据&#xff0c;为了让计算机能够处理字符&#xff0c;于是美国人就把他们会用到的每一个字符进行了编码&#xff08;所谓编码&#xff0c;就是为一个…

【Java数据结构】单向 不带头 非循环 链表实现

模拟实现LinkedList&#xff1a;下一篇文章 LinkedList底层是双向、不带头结点、非循环的链表 /*** LinkedList的模拟实现*单向 不带头 非循环链表实现*/ class SingleLinkedList {class ListNode {public int val;public ListNode next;public ListNode(int val) {this.val …

单片机学习笔记---AT24C02(I2C总线)

目录 有关储存器的介绍 存储器的简介 存储器简化模型 AT24C02介绍 AT24C02引脚及应用电路 I2C总线介绍 I2C电路规范 开漏输出模式和弱上拉模式 其中一个设备的内部结构 I2C通信是怎么实现的 I2C时序结构 起始条件和终止条件 发送一个字节 接收一个字节 发送应答…

Mybatis详解

MyBatis是什么 MyBatis是一个持久层框架&#xff0c;用于简化数据库操作的开发。它通过将SQL语句和Java方法进行映射&#xff0c;实现了数据库操作的解耦和简化。以下是MyBatis的优点和缺点&#xff1a; 优点&#xff1a; 1. 灵活性&#xff1a;MyBatis允许开发人员编写原生的…

GPT-4模型中的token和Tokenization概念介绍

Token从字面意思上看是游戏代币&#xff0c;用在深度学习中的自然语言处理领域中时&#xff0c;代表着输入文字序列的“代币化”。那么海量语料中的文字序列&#xff0c;就可以转化为海量的代币&#xff0c;用来训练我们的模型。这样我们就能够理解“用于GPT-4训练的token数量大…

react中hook封装一个table组件 与 useColumns组件

目录 1&#xff1a;react中hook封装一个table组件依赖CommonTable / index.tsx使用组件效果 2&#xff1a;useColumns组件useColumns.tsx使用 1&#xff1a;react中hook封装一个table组件 依赖 cnpm i react-resizable --save cnpm i ahooks cnpm i --save-dev types/react-r…

KingSCADA实现按钮点击效果

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 在做SCADA项目的时候&#xff0c;按钮是不可缺少的功能&#xff0c;但软件自带的按钮太丑&#xff0c;已经无法满足现如今客户对界面美观度的要求。 这时候就需要UI小姐姐设计美观大气的SCADA界面&#xff0c;但UI设计…

CoreSight学习笔记

文章目录 1 Components1.1 ROM Table 2 使用场景2.1 Debug Monitor中断2.1.1 参考资料 2.2 Programming the cross halt2.2.1 编程实现2.2.2 参考资料 2.3 CTI中断2.3.1 编程实现2.3.1.1 准备工作2.3.1.2 触发中断2.3.1.3 中断响应 2.3.2 参考资料 1 Components 1.1 ROM Table…

STM32 7-8

目录 ADC AD单通道 AD多通道 DMA DMA转运数据 DMAAD多通道 ADC AD单通道 AD.c #include "stm32f10x.h" // Device header/*** brief 初始化AD所需要的所有设备* param 无* retval 无*/ void AD_Init(void) {RCC_APB2PeriphClockCmd(RCC_AP…

相机图像质量研究(12)常见问题总结:光学结构对成像的影响--炫光

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

YOLOv5独家改进:上采样算子 | 超轻量高效动态上采样DySample,效果秒杀CAFFE,助力小目标检测

💡💡💡本文独家改进:一种超轻量高效动态上采样DySample, 具有更少的参数、FLOPs,效果秒杀CAFFE和YOLOv5网络中的nn.Upsample 💡💡💡在多个数据集下验证能够涨点,尤其在小目标检测领域涨点显著。 收录 YOLOv5原创自研 https://blog.csdn.net/m0_63774211/cate…

从github上拉取项目到pycharm中

有两种方法&#xff0c;方法一较为简单&#xff0c;方法二用到了git bash&#xff0c;推荐方法一 目录 有两种方法&#xff0c;方法一较为简单&#xff0c;方法二用到了git bash&#xff0c;推荐方法一方法一&#xff1a;方法二&#xff1a; 方法一&#xff1a; 在github上复制…

深度学习(15)--PyTorch构建卷积神经网络

目录 一.PyTorch构建卷积神经网络(CNN)详细流程 二.graphviz torchviz使PyTorch网络可视化 2.1.可视化经典网络vgg16 2.2.可视化自己定义的网络 一.PyTorch构建卷积神经网络(CNN)详细流程 卷积神经网络&#xff08;Convolutional Neural Networks&#xff09;是一种深度学…