要求:

代码:

 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取款的更多相关文章

  1. 简单的ATM取款过程

    一个简单的ATM的取款过程是这样的:首先提示用户输入密码(pwd),最多只能输3次,超过三次则提示用户“密码已输入三次错误,请取卡.“结束交易.如果用户密码正确,在提示用户输入金额(money),AT ...

  2. ATM取款~~

    package com.jredu.ch03; import java.util.Scanner; public class Atmmmmmmmmmm { static int totalMoney= ...

  3. 两种atm取款方式

    1.//函数 密码 账号function User(username, password, account){ this.username = username; this.password = pa ...

  4. ATM取款小项目

    项目要求: 1.用户需要从控制台输入账号密码,账号或者密码不正确报异常 2.每日取款的金额有限制(100,30000),否则报异常 3.每次取款都要有记录,并在下一次取款时显示出来 思路: 1.先在& ...

  5. 高仿中国银行ATM系统

    温馨提示由于代码太多只是上传了ATM客户端部分,管理员和超级管理员还有数据库部分上传了工程包,可以直接点击https://i.cnblogs.com/Files.aspx去里面找.package At ...

  6. 带你揭开ATM的神秘面纱

    相信大家都用过ATM取过money吧,但是有多少人真正是了解ATM的呢?相信除了ATM从业者外了解的人寥寥无几吧,鄙人作为一个从事ATM软件开发的伪专业人士就站在我的角度为大家揭开ATM的神秘面纱吧. ...

  7. C#实现ATM自动取款机

    本篇用C#实现ATM自动取款机的一些功能.面临的第一个问题是:如何把与自动取款机相关的有形的.无形的方面抽象出来.大致如下: (1)关于用户帐号的类:Account(2)关于银行数据库的类:BankD ...

  8. 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, ...

  9. Java程序设计基础笔记 • 【第5章 循环结构】

    全部章节   >>>> 本章目录 5.1 while循环结构 5.1.1 循环简介 5.1.2 while循环 5.1.3 while循环的使用 5.1.4 while循环的注 ...

随机推荐

  1. SQL语句将某字段查询出以逗号隔开

    MySQL的sql语句有好多能够省去server端的复杂处理 1.group_concat 这玩意儿能够实现  将一个字段如id查询出来   成为这种格式:121,122,123,124,125,12 ...

  2. CoreData 从入门到精通(二) 数据的增删改查

    在上篇博客中,讲了数据模型和 CoreData 栈的创建,那下一步就是对数据的操作了.和数据库一样,CoreData 里的操作也无非是增删改查.下面我们将逐步讲解在 CoreData 中进行增删改查的 ...

  3. Spark技术在京东智能供应链预测的应用——按照业务进行划分,然后利用scikit learn进行单机训练并预测

    3.3 Spark在预测核心层的应用 我们使用Spark SQL和Spark RDD相结合的方式来编写程序,对于一般的数据处理,我们使用Spark的方式与其他无异,但是对于模型训练.预测这些需要调用算 ...

  4. Windows 10 Mobile 演示:插入耳机自动执行 APP

    Windows Mobile 10 新特性:插入外部设备自动动作(如插入耳机执行 APP.打开小工具):另外可以找到最后一次使用设备地点和时间: http://www.tudou.com/progra ...

  5. BZOJ 2793: [Poi2012]Vouchers(调和级数)

    Time Limit: 20 Sec  Memory Limit: 64 MBSubmit: 582  Solved: 250[Submit][Status][Discuss] Description ...

  6. Servlet学习(七)——cookie

    一.会话技术简介 1.存储客户端的状态 例如网站的购物系统,用户将购买的商品信息存储到哪里?因为Http协议是无状态的,也就是说每个客户访问服务器端资源时,服务器并不知道该客户端是谁,所以需要会话技术 ...

  7. 解决IE7、IE8样式不兼容问题

    方法:要在页面中加入如下HTTP meta-tag: <meta http-equiv="X-UA-Compatible" content="IE=EmulateI ...

  8. swift语言点评一

    一.变量定义 1.常量与变量 Use let to make a constant and var to make a variable. 2.类型与推测 However, you don’t alw ...

  9. (二)React简介

    React简介 2-1: React v16 (React Fiber) React比Vue更灵活 Vue更简单 2-2 开发环境搭建 如何开始:(两种方式) 1.传统方式script标签引入.js文 ...

  10. NOIp2018模拟赛三十八

    爆〇啦~ A题C题不会写,B题头铁写正解: 随手过拍很自信,出分一看挂成零. 若要问我为什么?gtmdsubtask! 神tm就一个subtask要么0分要么100,结果我预处理少了一点当场去世 难受 ...