在java学习中,面向对象思想是学习这门语言的核心,通过定义各种类和方法并调用
他们来写出一个项目,这样在修改项目时可以通过修改里面的方法而不是直接修改整
个代码,达到了方便简单的目的,下面就用一个atm机提款流程来简单练习方法的使
用,代码如下:
package ;
import ;
import ;
public class Atm {
//在这里为图方便直接在atm类中定义了密码类,建议正常书写时单独定义
public class Password {
private int password;
public Password(int password) {
super();
= password;
}
}
// 类的属性声明
public int inputpassword;
Password psd = new Password(111111);
Scanner scanner = new Scanner();
int money = 0;// 用户选择的提款金额
int total = 20000;// 总金额
// 输入并验证密码部分
public void ipsd() {
for (int i = 3; i >= 1; i--) {
("请输入密码:");
int input1 = ();//获取输入的密码
//验证密码,共三次机会
if (input1 != ) {
("密码错误,请重新输入,还有" + (i - 1) + "次机会");
if (i == 1) {
("密码错误,请取卡");
return;
}
continue;
} else {
amount();
return;
}
}
}
// 输入金额部分
public void amount() {
("0.手动输入金额\t1.100元\t2.300元\t3.500元\t4.1000元\t5.3000元\t6.5000元");
int num = ();//获取输入的数字
//用switch语句进行金额选择
switch (num) {
case 0:
("请手动输入金额(必须要100元的倍数,最低100元,最高不超过1000元)");
money = ();
if (!(money % 100 == 0 && money > 0 && money < 1001)) {
("金额有误,是否继续(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:
("输入有误,是否继续(y/n)");
money = 0;
break;
}
//在选择结束后进入到判断方法中
decide();
}
public void decide() {
// 根据金额扣除余额
if (money > 0) {
// 判断是否余额大于等于要扣除的金额
if (total > money) {
// 可以正确取钱
total -= money;
("提款成功,余额:" + total + ",是否继续(y/n)");
} else if (total == money) {
// 可以取钱,结束程序
total = 0;
("谢谢使用,请取卡");
return;
} else {
// 不可以取钱
("余额不足,余额剩余" + total + ",是否继续(y/n)");
}
}
//获取是否继续选项
String next = ();
//对获取的字符串进行判断,如果继续y就返回amount方法,否则输入语句后退出此方法
if (("y")) {
amount();
} else {
("交易取消,请取卡");
return;
}
}
//测试类
public static void main(String[] args) {
Atm ac = new Atm();
();
}
}