在java学习中,面向对象思想是学习这门语言的核心,通过定义各种类和方法并调用

他们来写出一个项目,这样在修改项目时可以通过修改里面的方法而不是直接修改整

个代码,达到了方便简单的目的,下面就用一个atm机提款流程来简单练习方法的使

用,代码如下:

package com.jredu.object;import java.time.Year;
import java.util.Scanner;public class Atm {//在这里为图方便直接在atm类中定义了密码类,建议正常书写时单独定义public class Password {private int password;public Password(int password) {super();this.password = password;}}// 类的属性声明public int inputpassword;Password psd = new Password(111111);Scanner scanner = new Scanner(System.in);int money = 0;// 用户选择的提款金额int total = 20000;// 总金额// 输入并验证密码部分public void ipsd() {for (int i = 3; i >= 1; i--) {System.out.print("请输入密码:");int input1 = scanner.nextInt();//获取输入的密码//验证密码,共三次机会if (input1 != psd.password) {System.out.println("密码错误,请重新输入,还有" + (i - 1) + "次机会");if (i == 1) {System.out.println("密码错误,请取卡");return;}continue;} else {amount();return;}}}// 输入金额部分public void amount() {System.out.println("0.手动输入金额\t1.100元\t2.300元\t3.500元\t4.1000元\t5.3000元\t6.5000元");int num = scanner.nextInt();//获取输入的数字//用switch语句进行金额选择switch (num) {case 0:System.out.print("请手动输入金额(必须要100元的倍数,最低100元,最高不超过1000元)");money = scanner.nextInt();if (!(money % 100 == 0 && money > 0 && money < 1001)) {System.out.println("金额有误,是否继续(y/n)");money = 0;}break;case 1:money = 100;break;case 2:money = 300;break;case 3:money = 500;break;case 4:money = 1000;break;case 5:money = 3000;break;case 6:money = 5000;break;default:System.out.println("输入有误,是否继续(y/n)");money = 0;break;}//在选择结束后进入到判断方法中decide();}public void decide() {// 根据金额扣除余额if (money > 0) {// 判断是否余额大于等于要扣除的金额if (total > money) {// 可以正确取钱total -= money;System.out.println("提款成功,余额:" + total + ",是否继续(y/n)");} else if (total == money) {// 可以取钱,结束程序total = 0;System.out.println("谢谢使用,请取卡");return;} else {// 不可以取钱System.out.println("余额不足,余额剩余" + total + ",是否继续(y/n)");}} //获取是否继续选项String next = scanner.next();//对获取的字符串进行判断,如果继续y就返回amount方法,否则输入语句后退出此方法if (next.equals("y")) {amount();} else {System.out.println("交易取消,请取卡");return;}}
//测试类public static void main(String[] args) {Atm ac = new Atm();ac.ipsd();}
}

用面向对象思想编写方法写出atm机取款流程相关推荐

  1. java面向对象思想编写原谅帽小游戏 原谅帽游戏思路解析

    java面向对象思想编写原谅帽小游戏 原谅帽游戏思路解析: 面向对象思想 作品展示 类(游戏端)继承Frame: 首先要创建一个方法去让游戏开始和结束 使用text执行这个游戏的方法(需要有游戏标题和 ...

  2. 用正确方法写出质量好的软件的75条体会

    blueski推荐 [2005-6-27] 出处:goto推荐 作者:不详 如何用正确的方法来写出质量好的软件的75条体会 向不知名的作者表示深深的感谢! 1. 你们的项目组使用源代码管理工具了么? ...

  3. java编写一个简单的ATM机

    学习java的一点记录01 简单ATM机的实现(黑马程序员课程有具体讲解) Acount类 package com.yzh.atm;public class Account {private Stri ...

  4. 实战案例:场景测试之ATM机取款业务测试

    本期,我们通过经典案例--ATM机的操作,来为大家详细说说如何撰写对应的测试用例. [案例] 在我们日常生活中,ATM机是个大家都非常熟悉的事物.银行为例提高工作效率,方便客户随时办理基础的储蓄和提现 ...

  5. JavaScript实现银行ATM机取款

    //  * 假设一个简单的ATM机的取款过程是这样的:首先提示用户输入密码(password). //   * 最多只能输入三次,超过3次则提示用户"密码错误,请取卡"结束交易.如 ...

  6. 1.4 面试问题整理: ATM机取款

    流程图: 1.不插入卡时,ATM界面显示正常(广告状态) 2.插入非银行卡响应 (积分卡.公交卡片等) 3.卡或正或反插入响应 4.跨行插入银行卡响应(某些银行不支持跨行取钱) 5.卡是否过期 (比如 ...

  7. [shell]两种方法写出99乘法表

    两种方法不同点主要是输入最后的换行不同: #!/usr/bin/env bash for ((i=1;i<=9;i++)) do for ((j=1;j<=i;j++)) do echo  ...

  8. 吃货联盟点餐java面向对象_使用面向对象思想编写吃货联盟

    packagecom.dingcanxitong3;//创建一个功能的类实现各个功能接口 importjava.util.Scanner;public class Functions implemen ...

  9. 使用Java编写,写出1-100的偶数和奇数

    打印偶数: public static void main (String[ ] args){ system.out.println("所有偶数"): for(int i=1;i& ...

最新文章

  1. 网络推广软文浅谈网站优化过程中图片的优化技巧和注意事项!
  2. Bzoj4016/洛谷P2993 [FJOI2014] 最短路径树问题(最短路径问题+长链剖分/点分治)
  3. 学习几个“××在内存中占几份”的若干问题
  4. Set的常用实现类HashSet和TreeSet
  5. Sybase常见问题
  6. 写几个函数 输入10个职工的姓名和职工号_Excel函数速查一览表-函数应用案例-信息统计(2)...
  7. js图片加载效果(延迟加载+瀑布流加载)
  8. vlc源码分析(四) 调用libts接收TS流
  9. jQuery(七)、效果和动画
  10. spring security 参考 和 例子
  11. Mybatis 传参问题
  12. SSD-Tensorflow 目标检测(自定义数据集(VOC2007格式))
  13. 20829-55-4,cyclo-(L-Trp-L-Trp),cyclo-L-tryptophan-L-tryptophan,cyclo(Trp-Trp)
  14. 【支付】微信小程序 微信支付 uniapp
  15. 最新最全的Android开源项目集合(转)
  16. 如何读取STL文件?
  17. linux双网卡双路由配置,linux配置双网卡双路由
  18. 如何实现ASP.NET中网站访问量的统计
  19. vue项目引入icon图标
  20. TVM学习(一)安装TVM Ubuntu16.04安装TVM0.8+clang-llvm12.0

热门文章

  1. (2110,5): warning MSB3245: 未能解析此引用。未能找到程序集“Windows”。请检查磁盘上是否存在该程序集。 如果您的代码需要此引用,则可能出现编译错误。
  2. Elastic Stack之用户认证
  3. Git:查看本地分支基于哪个分支创建
  4. android sim 状态,Android - 判断SIM卡状态
  5. 通过IP地址定位准确的地理位置
  6. 计算机毕业设计ssm校内考研吧hd450系统+程序+源码+lw+远程部署
  7. 网页设计常用色彩搭配【网址推荐】
  8. 碳纤维复合材料无损检测
  9. WPS如何快速删除姓名后面的文本
  10. Android 4学习(8):用户界面 - Fragment