import java.io.IOException;

/**

* ATM机类

*

* 查看余额

*

* 取款

*

* 存款

*

* 退出系统

*

*

*

*/

public class ATM {

static double yue = 1200.00;

public static void main(String[] arg) {

ATM localTest1 = new ATM();

localTest1.ATM_Operate();

}

/**

* ATM机的操作

*/

private void ATM_Operate() {

System.out.println("欢迎使用中国工商银行ATM取款机");

System.out.println("1、查看余额 2、取款");

System.out.println("3、存款 0、退出");

System.out.print("请输入您需要的服务:");

byte[] buffer = new byte[512];

try {

int count = System.in.read(buffer);// 返回实际读取的字节数

System.out.print("您输入的是:");

for (int i = 0; i < count; i++) {

System.out.print("" + (char) buffer[i]);

}

if ((char) buffer[0] == '1') {

// 查看余额

System.out.println("您的余额是:¥" + yue + "元");

System.out.println();

ATM_Operate();

} else if ((char) buffer[0] == '2') {

// 取款

withdrawal();

System.out.println();

ATM_Operate();

} else if ((char) buffer[0] == '3') {

// 存款

deposit();

System.out.println();

ATM_Operate();

} else if ((char) buffer[0] == '0') {

// 退出

System.out.println("您已经成功退出系统,谢谢你的使用");

System.exit(0);

} else {

System.out.println("输入不合法,请重新输入");

System.out.println();

ATM_Operate();

}

} catch (IOException e) {

e.printStackTrace();

}

}

/**

* 取款

*

* @throws IOException

*/

private void withdrawal() throws IOException {

byte[] buffer = new byte[512];

System.out.print("请输入您要取出的金额:¥");

int count2 = System.in.read(buffer);// 返回实际读取的字节数

System.out.print("您输入的金额是:");

for (int i = 0; i < count2 - 1; i++) {

System.out.print("" + (char) buffer[i]);

}

System.out.println();

// 字符0 ~ 9对应ASCII值48 ~ 57

boolean flag = false;

for (int i = 0; i < count2 - 1; i++) {

if ((char) buffer[i] > 47 && (char) buffer[i] < 58) {

if (i == count2 - 2) {

flag = true;

}

} else {

// 输入的字符不是数值

System.out.println("输入不合法,请重新输入");

withdrawal();

break;

}

}

System.out.println();

if (flag) {

System.out.print("您已成功取出¥:");

String num = "";

for (int i = 0; i < count2 - 1; i++) {

System.out.print("" + (char) buffer[i]);

num += (char) buffer[i];

}

yue -= Double.valueOf(num);

System.out.print(",现在余额¥:" + yue);

}

}

/**

* 存款

*

* @throws IOException

*/

private void deposit() throws IOException {

byte[] buffer = new byte[512];

System.out.print("请输入您要存入的金额:¥");

int count2 = System.in.read(buffer);// 返回实际读取的字节数

System.out.print("您输入的金额是:");

for (int i = 0; i < count2 - 1; i++) {

System.out.print("" + (char) buffer[i]);

}

System.out.println();

// 字符0 ~ 9对应ASCII值48 ~ 57

boolean flag = false;

for (int i = 0; i < count2 - 1; i++) {

if ((char) buffer[i] > 47 && (char) buffer[i] < 58) {

if (i == count2 - 2) {

flag = true;

}

} else {

// 输入的字符不是数值

System.out.println("输入不合法,请重新输入");

withdrawal();

break;

}

}

System.out.println();

if (flag) {

System.out.print("您已成功存入¥:");

String num = "";

for (int i = 0; i < count2 - 1; i++) {

System.out.print("" + (char) buffer[i]);

num += (char) buffer[i];

}

yue += Double.valueOf(num);

System.out.print(",现在余额¥:" + yue);

}

}

}

取消

评论

地铁 java_怎么用Java编写一个地铁售票机的程序?相关推荐

  1. 数字倒序Java_怎么用Java编写一个程序,将输入的数字重新倒叙排列?

    思路如下: 1,录入字符串 2,使用正则表达式分割 3,转换为int数组 4,排序 5,拼接,代码如下: import java.util.Arrays; import java.util.Scann ...

  2. java体重指数计算器程序_用Java编写一个简单的计算器程序

    展开全部 import java.awt.*; import java.awt.event.*; public class CalcAppDemo extends Frame{ private Tex ...

  3. java编写一个ATM取款机小程序

    此程序效果图如下: 一下为源代码: package step4; import java.util.Scanner; public class ForPractice4 { public static ...

  4. atm机编程java_如何用Java编写模拟ATM取款机的程序

    /** * @version 1.0 * @author Devil_Angel * 该程序的功能为实现模拟银行ATM自动取款机提款,查询等功能. * */ import Java.io.*; /*该 ...

  5. 用Java编写一个租车小程序

    要求实现的功能有: 1.展示所有可租车辆 2.选择车型,租车量 3.显示租车清单,包括:总载货量,总载客量,总金额等: 4.车辆类型 客车:只能载客 货车:只能载货 皮卡:既能载人,有能载货 Java ...

  6. 用Java编写一个最简单的桌面程序

    使用Java的优势在于网络应用方面,但Java也提供了强大的用于开发桌面程序的API,它们包含在javax.swing包中.使用这个包可以编写简单的Java桌面应用程序. Java的javax.swi ...

  7. 停车场管理系统 java_使用java编写一个停车场管理系统

    使用java编写一个停车场管理系统 发布时间:2020-11-30 16:00:28 来源:亿速云 阅读:145 作者:Leah 这篇文章给大家介绍使用java编写一个停车场管理系统,内容非常详细,感 ...

  8. java编写存钱_用Java编写一个简单的存款

    package desposit.money; public class DespositMoney { public static void main(String[] args) { Custom ...

  9. Java黑皮书课后题第10章:***10.8(金融:Tax类)编程练习题8.12使用数组编写一个计算税款的程序。设计一个名为Tax类,该类包含下面的实例数据域

    ***10.8(金融:Tax类)编程练习题8.12使用数组编写一个计算税款的程序.设计一个名为Tax类,该类包含下面的实例数据域 题目 程序解释 代码 Test8.java Test8_Tax.jav ...

最新文章

  1. 【软件工程】数据流图 ( 数据字典 | 数据流图平衡原则 | 父图与子图平衡 | 子图内平衡 | 数据流图绘制原则 )
  2. 工具用途_德普优化使用指南:16个工具的功能及用途(工具文)
  3. 使用Nginx过滤网络爬虫
  4. Nginx server之Nginx作为反向代理服务器
  5. 【数据结构】30、hashmap=》hash 计算方式
  6. 学以致用一 安装centos7.2虚拟机
  7. 我和ASP.NET MVC有个约会
  8. 最短路径之弗洛伊德算法
  9. jsf入门实例_JSF错误消息示例教程
  10. linux重启网卡命令_如何在 Linux 中更改 MAC 地址 | Linux 中国
  11. Kafka如何保证不丢数据?
  12. pyspark 学习笔记——pyspark安装
  13. 前端js实现打印excel表格
  14. c语言中十进制转化二进制八进制十六进制,十进制转化为二进制八进制十六进制...
  15. Veeam 安装部署 - 部署 Veeam Backup Replication
  16. git合并——衍合于挑拣(cherry-pick)——只合并某个commit
  17. 解决手机QQ或微信已开通邮件提醒,但收到邮件仍不提醒的问题
  18. 期权杠杆比率如何计算?
  19. python图片切割与合并
  20. 解决使用maven打jar包缺失依赖包问题

热门文章

  1. 2022年软考信息安全工程师考试备考指南
  2. linux 磁盘控制器,linux – 戴尔R710上的PERC 6 / i RAID:单个控制器上的慢速磁盘…… RAID10?...
  3. java程序a-z b-y,请完成下列Java程序:对大写的26个英文字母加密,从键盘输入一个大写字母串,输出这个串加密后的结 - 赏学吧...
  4. 使用gpio输出驱动蜂鸣器出现破音_探索者 STM32F407 开发板资料连载第七章 蜂鸣器实验...
  5. Java基础---方法1
  6. JS-面向对象-对象的特性-禁止对象扩展 / 对象的特性-封印对象 / 对象的特性-冻结对象
  7. C#调用Server_SQL
  8. mysql中生成列与JSON类型的索引
  9. An invalid form control with name='timeone[]' is not focusable.
  10. 未与信任 SQL Server 连接相关联