一个JAVA的小程序,主要要求有模块化编程的思想,能够把ATM中各个功能独立成为一个一个的方法。
ATM主要功能有:
- 查询余额;
- 取款;
- 存款;
- 修改密码;
- 退出。
以上功能均由独立的方法给出,具体实现过程如下:
import java.util.Scanner; /**
*
* ATM机
* */
public class HomeWork0901 { static float money=100000f; public static void main(String[] args) {
// TODO Auto-generated method stub
String account="mmy123";
String password="mmy12311";
welcome();
boolean check=LogCheck(account,password);
if(check){
do{
System.out.println("请选择你希望执行的操作:\n1:查询余额 2:存款 3:取款 4:修改密码 5:退出");
Scanner sr=new Scanner(System.in);
int option=sr.nextInt();
switch(option){
case :check(money);break;
case :money+=deposit();break;
case :money-=MoneyOut();break;
case :password=changePassword(password);break;
case :System.out.println("成功退出!欢迎再次光临!");System.exit();
}
}while(true);
}
} /**
* 欢迎界面
* */
public static void welcome(){
System.out.println("--------------------------------------------------");
System.out.println("--------------------欢迎光临---------------------");
System.out.println("--------------------------------------------------");
System.out.println("--------------------我的银行---------------------");
System.out.println("--------------------------------------------------");
System.out.println("------------------欢迎来存钱--------------------");
System.out.println("--------------------------------------------------");
} /**
* 登录账号密码输入及检验
* */
public static boolean LogCheck(String account,String password){
for(int i=;i>;i--){
System.out.println("输入你的账号:");
Scanner sr=new Scanner(System.in);
String input_acc=sr.next();
System.out.println("输入你的密码:");
String input_password=sr.next();
// if(account!=input_acc||password!=input_password){ //匹配字符串不能用==!!!
if(!account.equals(input_acc)||!password.equals(input_password)){
if(i==){
System.out.println("机会用完,吞卡!");
return false;
}
System.out.println("账号密码错误!你还有"+(i-)+"次输入机会!");
continue;
}else{
System.out.println("登陆成功,欢迎!");
break;
}
}
return true;
} /**
* 查询
* */
public static void check(float money){
System.out.println("您的账户共有"+money+"元!");
} /**
* 存款
* */
public static int deposit(){
System.out.println("请输入所存金额:");
Scanner sr=new Scanner(System.in);
int MoneyIn=sr.nextInt();
if(MoneyIn%!=){
System.out.println("只能存100的整数!");
return ;
}
if(MoneyIn>){
System.out.println("单笔存款上限为5000!");
return ;
}
if(MoneyIn<){
System.out.println("输正数!输正数!输正数!");
return ;
}
System.out.println("存款成功!");
return MoneyIn;
} /**
* 取款
* */
public static int MoneyOut(){
System.out.println("请输入需要取款的金额:");
Scanner sr=new Scanner(System.in);
int MoneyOut=sr.nextInt();
if(MoneyOut%!=){
System.out.println("请输入整数!");
return ;
}
if(MoneyOut>money){
System.out.println("所取金额超过该账户余额!");
return ;
}
if(MoneyOut<){
System.out.println("输正数!输正数!输正数!");
return ;
}
System.out.println("取款成功!");
return MoneyOut;
} /**
* 修改密码
* */
public static String changePassword(String pass){
System.out.println("请输入旧密码:");
Scanner sr=new Scanner(System.in);
String password=sr.next();
if(password.equals(pass)){
System.out.println("请输入新密码:");
String newpass1=sr.next();
System.out.println("请再次输入新密码:");
String newpass2=sr.next();
if(newpass1.equals(newpass2)){
System.out.println("密码修改成功!");
return newpass1;
}else{
System.out.println("两次密码不一致!");
return pass;
}
}else{
System.out.println("旧密码输入错误!");
return pass;
}
}
}
JAVA真有意思啊!!!
JAVA 小程序之ATM的更多相关文章
-
简单的小程序实现ATM机操作
简单的小程序实现ATM机操作 代码如下: package Day06; import java.util.Scanner; public class TestAccount { public stat ...
-
输出多行字符的一个简单JAVA小程序
public class JAVA { public static void main(String[] args) { System.out.println("-------------- ...
-
浏览器兼容java小程序配置说明
最近在使用的一个web应用系统是内嵌了java小程序,遇到了各种浏览器兼容性问题,现梳理如下: 1.通过以下链接检测当前电脑是否已经安装有java https://java.com/zh_CN/dow ...
-
框架一般用作Java应用程序的窗口,而Applet是Java小程序的窗口
框架一般用作Java应用程序的窗口,而Applet是Java小程序的窗口. 与Frame不同,Applet是在网页中显示的,也可以通过添加Panel进行组件布局. package TomAwt; im ...
-
【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用
有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...
-
2015.11.27初识java一集简单的java小程序
JAVA配置环境变量方法: 1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME变量值:D:\Java\jdk1.7.0_ ...
-
java的数据类型,几个java小程序
1:求圆的面积 还好看了c++,不然直接看这课件还真是看不懂……加油吧 要从键盘读入数据可以用Scanner类的nextlnt()或者nextDouble()方法,首先创建Scanner类的一个实例, ...
-
java 小程序开发PKCS7Padding 解密方法实现,以及错误Cannot find any provider supporting AES/CBC/PKCS7Padding 解决办法
近日在对接小程序API,其中wx.getUserInfo api返回的数据encryptedData 的解密算法要求为: AES-128-CBC,数据采用PKCS#7填充. 经过一番查询,得到java ...
-
首次编译Java小程序
public class helloworld { public static void main(string[] args) { system.out.println("hello wo ...
随机推荐
-
http、tcp、udp、OAUTH2.0网络协议区别
一.先来一个讲TCP.UDP和HTTP关系的 1.TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层. 在网络层有IP协议.ICMP协议.ARP协议.RAR ...
-
rails查询mongodb通用查询
ruby on rails 很好的跟mongodb进行了结合,gem包: 地址:https://rubygems.org/gems/mongoid 文档:https://docs.mongodb.co ...
-
语句:分支语句、switch case ——7月22日
语句的类型包括:声明语句.表达式语句.选择语句.循环语句.跳转语句.异常语句 1.声明语句引:入新的变量或常量. 变量声明可以选择为变量赋值. 在常量声明中必须赋值. 例如: int i = 0;// ...
-
4月数据库流行度排行榜 MySQL能否追上Oracle
4月的数据库流行度排行榜可谓看点十足.闲言少叙,先上图: 前十名中,名次上升的都是NoSQL数据库,NoSQL凭借其对大数据处理的优势,发展越来越快.NoSQL是对众多非传统关系型数据库的总称,按存储 ...
-
网络安全*即将推出 手机App安全加密成必定趋势
年05月22日宣布,为维护国家网络安全.保障中国用户合法利益,中国即将推出网络安全*,关系国家安全和公共利益的系统使用的.重要信息技术产品和服务,应通过网络安全审查.文章出处:*** 网络安全审 ...
-
ES6(类)
类的概念 1.基本定义 2.继承 继承如何传递参数?(super) 定义自己属性的时候调用 this 一定要在 super 之后(在继承关系中,子类的构造函数如果用 super 传递参数的过程中,su ...
-
CentOS6 上OpenWRT交叉编译
目的不是为了编译固件,而是为了一个是编译可执行文件,放倒op的路由器上跑,另一个目的是安装一些开源软件折腾下(例如ss-lib),需要打包成 .ipk 格式 路由设备信息 erya@ERYA:~$ c ...
-
带着新人学springboot的应用04(springboot+mybatis+redis 完)
对于缓存也说了比较多了,大家对下图这一堆配置类现在应该有些很粗略的认识了(因为我也就很粗略的认识了一下,哈哈!),咳,那么我们怎么切换这个缓存呢?(就是不用springboot提供的默认的Simple ...
-
Insertion Sort 与 Merge Sort的性能比较(Java)
public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextI ...
-
已使用.netframework,version=v4.6.1 而不是目标框架netcoreapp,version=v2.1 还原包,此包可能与项目不完全兼容
已使用.netframework,version=v4.6.1 而不是目标框架netcoreapp,version=v2.1 还原包,此包可能与项目不完全兼容 NU1202: 包 System.Run ...