java面向对象编程之前的最后一次结构化编程:ATM代码
来源:互联网 发布:打码软件赚钱 编辑:程序博客网 时间:2024/06/02 05:06
ATM简易规则如下:
0.定义规定值
①账号②密码③余额(double)④ATM机最大值⑤ATM机余额⑥每次取钱最大值
1.登录(共3次机会)若3次错误吞卡
2.欢迎界面
3.菜单 1.查询余额 2.取钱 3.存钱 4.改密码 5.退出
改密码后,重新进入登录界面
4.取钱规则:①取的金额不能小于0
②取的金额不能大于你的余额
③每次取钱最大值
④小于ATM机余额
⑤必须是100的倍数
注意:取钱后提示用户是否继续取钱
5.存钱规则:①存的金额必须是100的倍数
②存的金额+ATM机余额<ATM机最大值
注意:存钱后提示用户是否继续存钱
代码实现如下:
import java.util.Scanner;
public class ATM {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
String account="abc",passWord="123";
double cardRemainingSum=2000,atmRemainingSum=50000;
int maxEveryTime=5000,maxOfAtm=500000;
String passWordInput=null,newPassWord=null,newPassWord2=null;
int count=3;
while(true){
System.out.println("请输入您的密码:");
passWordInput=input.next();
if(passWordInput.equals(passWord)){
break;
}
count--;
if(count==0){
System.out.println("密码输错三次,已吞卡");
break;
}
System.out.println("密码错误,还有"+count+"次输入机会");
}
while(passWordInput.equals(passWord)){
System.out.println("欢迎使用本ATM");
System.out.println("1.余额查询");
System.out.println("2.取款");
System.out.println("3.存钱");
System.out.println("4.改密");
System.out.println("5.退出");
System.out.println("请选择(1-5):");
int choice=input.nextInt();
if(choice==1){
System.out.println(cardRemainingSum);
}else if(choice==2){
while(true){
System.out.println("请输入取款金额:");
int cash=input.nextInt();
if(cash%100!=0||cash>maxEveryTime){
System.out.println("输入错误或超过单次取款上限,请重新输入");
}else{
if(cash>cardRemainingSum){
System.out.println("卡上余额不足,请确认后重新输入");
break;
}else if(cash>atmRemainingSum){
System.out.println("取款金额超过ATM机内余额,请到柜台办理业务……");
break;
}else{
System.out.print("取款成功!");
break;
}
}
}
}else if(choice==3){
int inputNum=0;
while(true){
System.out.println("请输入存款金额:");
inputNum=input.nextInt();
if(inputNum%100!=0){
System.out.println("输入错误,请重新输入");
}else{
if(inputNum+atmRemainingSum>maxOfAtm){
System.out.println("存款超过ATM存储上限,请到柜台办理相关业务……");
break;
}else{
System.out.println("存款成功!");
break;
}
}
}
}else if(choice==4){
while(true){
System.out.println("请输入您的新密码:");
newPassWord=input.next();
System.out.println("请再次输入新密码:");
newPassWord2=input.next();
if(newPassWord.equals(newPassWord2)){
System.out.println("修改密码成功!");
break;
}
System.out.println("两次输入不一致,请重新输入");
}
}else if(choice==5){
break;
}else {
System.out.println("输入错误,请重新输入");
}
System.out.println("是否继续?(y继续 n退出):");
String choice1=input.next();
if(choice1.equals("n")){
break;
}
}
System.out.println("系统退出……");
input.close();
}
}
- java面向对象编程之前的最后一次结构化编程:ATM代码
- 面向对象编程与结构化编程
- 面向对象编程和结构化编程
- 面向对象编程范式##第一章编程之前
- Java的面向对象编程
- JAVA的面向对象编程
- java面向对象的编程
- 面向结构化编程与面向对象编程
- 新ATM机 学会使用面向对象的思想来编程
- JavaScript 面向对象编程,严格过程的标准化编程法,目前为止最好的 JS 生成对象代码结构
- Java 面向对象编程
- Java面向对象编程
- Java面向对象编程
- java面向对象编程
- Java面向对象编程
- Java面向对象编程
- Java面向对象编程
- java面向对象编程
- 欢迎使用CSDN-markdown编辑器
- L2-008. 最长对称子串
- 解决ubuntu linux下更新idea导致idea字体改变的问题
- 数据库相关
- semi-circle、pi、rad的区别与联系
- java面向对象编程之前的最后一次结构化编程:ATM代码
- 【ZJOI2013】bzoj3110 K大数查询【解法二】
- POJ 3050
- Linux Bridge的IP NAT细节探析-填补又一坑的过程
- java对文件的操作
- Error: For input string: "5000L" (state=,code=0)
- 二叉树
- SQL-(1)
- x264重要结构体详细说明: x264_sps_t、x264_pps_t