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循环的注 ...
随机推荐
- ORACLE 索引批量重建
按用户批量重建索引: 按用户将此用户下面非临时表上面的索引全部重建,此过程建议在SYS用户下面执行: CREATE OR REPLACE PROCEDURE BATCH_REBUILD_INDEX(U ...
- 安卓-活动Activity
Android有4大组件,活动 Activity,服务 Service ,广播接收器 Brostcast receiver,内容提供器 Content Provider 安卓活动的生命周期有7种, o ...
- JTextArea 加入滚动条
JTextArea texA; JScrollPane scroll; TextEdit(String name){ super(name); init(); } void init(){ this. ...
- mysql表空间传输(ERROR 1808) row_format设置
文章结构如下: 从MYSQL5.6版本开始,引入了传输表空间这个功能,可以把一张表从一个数据库移到另一个数据库或者机器上.迁移的时候很方便,尤其是大表. 由于本次达到测试使用版本5.6.38传到5.7 ...
- 头像文件上传 方法一:from表单 方法二:ajax
方法一:from表单 html 设置form表单,内包含头像预览div,内包含上传文件input 设置iframe用来调用函数传参路径 <!--表单提交成功后不跳转处理页面,而是将处理数据返回给 ...
- windows py-faster-rcnn配置
[原创帖!转载请注明] windows faster-rcnn安装一直会出现各种错误,本人在实验室电脑成功安装后,在自己电脑上同样的安装步骤也成功.所以做个总结,希望对大家有帮助. 一:安装环境 1. ...
- Uva 1605 Building for UN【构造法】
题意:给出n个国家,给它们分配办公室,使得任意两个国家都有一对相邻的格子 看的紫书,最开始看的时候不理解 后来还是搜了题解--- 发现是这样的 比如说5个国家 应该输出 AAAA BBBB CCCC ...
- ZOJ 3321 Circle【并查集】
解题思路:给定n个点,m条边,判断是否构成一个环 注意到构成一个环,所有点的度数为2,即一个点只有两条边与之相连,再有就是判断合并之后这n个点是否在同一个连通块 Circle Time Limit: ...
- ActiveMQ学习笔记(1)----初识ActiveMQ
1. 什么是ActiveMQ? ActiveMQ是Apache推出的,一款开源的,完全支持JMS1.1和j2ee1.4规范的JMS Provider实现的消息中间件(Message Oriented ...
- CDR X6低价还能持续多久?官方回应18年元旦过后要涨价
目前,CDR X6特价活动,从双十二的到18年的元旦,火热程度一直屡刷新高,究其原因,其实不是大家不需要,只是这个平面设计软件价格实在太高(CDR X8/8200:CDR 2017/9500一套),尤 ...