for循环练习-----ATM取款
要求:

代码:
package com.jianglai.atm;
import java.util.Scanner;
public class ATM {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
/**
* 1. 判断用户密码是否正确
*/
int pwd = 111111;//用户密码
int i = 1;
for (i = 1; i < 4; i++) {
System.out.print("请输入密码:");
int u_pwd = in.nextInt();//用户输入的密码
//判断密码
if(u_pwd == pwd){
break;
}else {
System.out.print("密码输入错误,");
}
//判断输入密码次数是否超过3次,超过三次提示信息结束程序。
if(i==3){
System.out.println("密码输入超过3次,请取卡。");
return;
}
}
/**
* 2. 进行取款操作
*/
System.out.println();
System.out.println("*********请根据序号取款*********");
System.out.println();
int money = 0;//取款金钱数
int moenySum = 0;//取款的总金额数
int choosNum = 0;//用户选择的序号
boolean flag = true;
while (flag) {
String con ;//用户输入Y或N
System.out.println("0-手动输入金额");
System.out.println("1-100元\t\t2-300元\t\t3-500元");
System.out.println("4-1000元\t\t5-3000元\t\t6-5000元");
System.out.print("请选择:");
choosNum = in.nextInt();
//根据序号进行操作
switch (choosNum) {
case 0:
System.out.print("请输入金额:");
money = in.nextInt();//用户输入的金额
//判断用户输入的金额是否符合规定
if((money >= 100&& money <= 1000)&&(money%100==0)){
System.out.print("取款完成,是否继续(y/n):");
con = in.next();
}else {
money = 0;//用户输入的金钱不符合规定,将输入的钱数重置,再进行下一步
System.out.print("金额输入错误,是否继续(y/n):");
con = in.next();
money = 0;
}
break;
case 1:
money = 100;
System.out.print("取款完成,是否继续(y/n):");
con = in.next();
break;
case 2:
money = 300;
System.out.print("取款完成,是否继续(y/n):");
con = in.next();
break;
case 3:
money = 500;
System.out.print("取款完成,是否继续(y/n):");
con = in.next();
break;
case 4:
money = 1000;
System.out.print("取款完成,是否继续(y/n):");
con = in.next();
break;
case 5:
money = 3000;
System.out.print("取款完成,是否继续(y/n):");
con = in.next();
break;
case 6:
money = 5000;
System.out.print("取款完成,是否继续(y/n):");
con = in.next();
break;
default:
System.out.print("输入错误,是否继续(y/n):");
con = in.next();
break;
}
//总金额累加
moenySum += money;
//验证总金额(moneySum)是否大于20000
if(moenySum>20000){
moenySum = moenySum-money;
System.out.print("您的取款金额超过20000,取款失败,是否继续(y/n):");
con = in.next();
}else if (moenySum==20000) {
flag = false;
break;//等于20000的时候自动结束
}
//验证是否继续 Y/N(n/y) Y就继续,N就结束
while (true) {
if(con.equals("n")||con.equals("N")){
flag = false;
break;
}else if(con.equals("y")||con.equals("Y")) {
flag = true;
break;
}else {
System.out.print("您输入字符有误,是否继续(y/n):");
con = in.next();
}
}
}
//输出最后的金额和提示信息
System.out.println("您的总取款金额为:"+moenySum+"¥");
System.out.println("感谢使用!!!");
}
}
效果图:

for循环练习-----ATM取款的更多相关文章
- 简单的ATM取款过程
一个简单的ATM的取款过程是这样的:首先提示用户输入密码(pwd),最多只能输3次,超过三次则提示用户“密码已输入三次错误,请取卡.“结束交易.如果用户密码正确,在提示用户输入金额(money),AT ...
- ATM取款~~
package com.jredu.ch03; import java.util.Scanner; public class Atmmmmmmmmmm { static int totalMoney= ...
- 两种atm取款方式
1.//函数 密码 账号function User(username, password, account){ this.username = username; this.password = pa ...
- ATM取款小项目
项目要求: 1.用户需要从控制台输入账号密码,账号或者密码不正确报异常 2.每日取款的金额有限制(100,30000),否则报异常 3.每次取款都要有记录,并在下一次取款时显示出来 思路: 1.先在& ...
- 高仿中国银行ATM系统
温馨提示由于代码太多只是上传了ATM客户端部分,管理员和超级管理员还有数据库部分上传了工程包,可以直接点击https://i.cnblogs.com/Files.aspx去里面找.package At ...
- 带你揭开ATM的神秘面纱
相信大家都用过ATM取过money吧,但是有多少人真正是了解ATM的呢?相信除了ATM从业者外了解的人寥寥无几吧,鄙人作为一个从事ATM软件开发的伪专业人士就站在我的角度为大家揭开ATM的神秘面纱吧. ...
- C#实现ATM自动取款机
本篇用C#实现ATM自动取款机的一些功能.面临的第一个问题是:如何把与自动取款机相关的有形的.无形的方面抽象出来.大致如下: (1)关于用户帐号的类:Account(2)关于银行数据库的类:BankD ...
- python之循环与判断
1,for 循环,语法 举例: for i in range(1, 5, 2): # 0,1,2,3,4 print(i) for a in range(5):# --(0,5,1) 0,1,2,3, ...
- Java程序设计基础笔记 • 【第5章 循环结构】
全部章节 >>>> 本章目录 5.1 while循环结构 5.1.1 循环简介 5.1.2 while循环 5.1.3 while循环的使用 5.1.4 while循环的注 ...
随机推荐
- CCControlExtension/CCControlPotentiometer
#ifndef __CCCONTROLPOTENTIOMETER_H__ #define __CCCONTROLPOTENTIOMETER_H__ #include "CCControl.h ...
- iOS开发之十万个为什么<1>
郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助.欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 游戏官方下 ...
- m_Orchestrate learning system---三、session使用完整流程是什么
m_Orchestrate learning system---三.session使用完整流程是什么 一.总结 一句话总结: 1.在登录成功之后设置session和cookie 2.在公共控制器里面使 ...
- Oracle RAC 实施
第 1 步 — 确定项目范围 理由 我们实施 Oracle RAC 是为了使我们的应用程序可伸缩和高度可用,以及为我们的客户提供更可靠的服务. 目标/可交付产品 该项目的最终产品将是一个新的 Orac ...
- Idea配置文件的读取
开发过程中遇到配置文件读取问题,因此记录以后运用的到. 配置文件位置: 配置文件内容: default_size = 100 grid_size = 20 delayTime = 200 配置文件读取 ...
- (转载)PopuWindow和软键盘共存时的设置
PopuWindow和软键盘共存时的设置 收藏 artshell 发表于 2年前 阅读 1499 收藏 10 点赞 2 评论 0 腾讯云上实验室 1小时搭建人工智能应用 让技术更容易入门>> ...
- 51nod 1096 距离之和最小 思维题,求中位数
题目: 在一条直线上,与两个点距离之和最小的点,是怎样的点? 很容易想到,所求的点在这两个已知点的中间,因为两点之间距离最短. 在一条直线上,与三个点距离之和最小的点,是怎样的点? 由两个点的规律,我 ...
- 【原创】如何使用一句SQL计算工作日天数?
现在有这样一个需求,要求计算两个日期间的工作日天数,要求除去节假日,其中节假日有一张配置表,具体的格式如下: 开始日期 结束日期 节假日类型 节假日名称 2013-08-10 2013-08-12 ...
- RelativeLayout.addRule()方法
RelativeLayout.addRule()方法 通过LayoutParams的 addRule方法来额外的添加别的规则了,android.widget.RelativeLayout.Layout ...
- Matlab---从入门到精通 Chapter 4 编程基础
---恢复内容开始--- 4-1 M文件编辑器 在命令窗口输入edit命令,可以打开M文件编辑器,创建新的M文件 在命令行中输入edit filename,那么可以打开在当前目录环境下的M文件 4-2 ...