要求:

代码:

 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. CCControlExtension/CCControlPotentiometer

    #ifndef __CCCONTROLPOTENTIOMETER_H__ #define __CCCONTROLPOTENTIOMETER_H__ #include "CCControl.h ...

  2. iOS开发之十万个为什么&lt;1&gt;

    郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助.欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 游戏官方下 ...

  3. m_Orchestrate learning system---三、session使用完整流程是什么

    m_Orchestrate learning system---三.session使用完整流程是什么 一.总结 一句话总结: 1.在登录成功之后设置session和cookie 2.在公共控制器里面使 ...

  4. Oracle RAC 实施

    第 1 步 — 确定项目范围 理由 我们实施 Oracle RAC 是为了使我们的应用程序可伸缩和高度可用,以及为我们的客户提供更可靠的服务. 目标/可交付产品 该项目的最终产品将是一个新的 Orac ...

  5. Idea配置文件的读取

    开发过程中遇到配置文件读取问题,因此记录以后运用的到. 配置文件位置: 配置文件内容: default_size = 100 grid_size = 20 delayTime = 200 配置文件读取 ...

  6. (转载)PopuWindow和软键盘共存时的设置

    PopuWindow和软键盘共存时的设置 收藏 artshell 发表于 2年前 阅读 1499 收藏 10 点赞 2 评论 0 腾讯云上实验室 1小时搭建人工智能应用 让技术更容易入门>> ...

  7. 51nod 1096 距离之和最小 思维题,求中位数

    题目: 在一条直线上,与两个点距离之和最小的点,是怎样的点? 很容易想到,所求的点在这两个已知点的中间,因为两点之间距离最短. 在一条直线上,与三个点距离之和最小的点,是怎样的点? 由两个点的规律,我 ...

  8. 【原创】如何使用一句SQL计算工作日天数?

    现在有这样一个需求,要求计算两个日期间的工作日天数,要求除去节假日,其中节假日有一张配置表,具体的格式如下: 开始日期 结束日期 节假日类型 节假日名称 2013-08-10 2013-08-12   ...

  9. RelativeLayout.addRule()方法

    RelativeLayout.addRule()方法 通过LayoutParams的 addRule方法来额外的添加别的规则了,android.widget.RelativeLayout.Layout ...

  10. Matlab---从入门到精通 Chapter 4 编程基础

    ---恢复内容开始--- 4-1 M文件编辑器 在命令窗口输入edit命令,可以打开M文件编辑器,创建新的M文件 在命令行中输入edit filename,那么可以打开在当前目录环境下的M文件 4-2 ...