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

来源:互联网 发布:淘宝的主要盈利模式 编辑:程序博客网 时间:2024/06/05 00:38

在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();}}


原创粉丝点击