java编写的模拟ATM取款机程序

当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以进行:1 查询余额:初始余额为10000元2 ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。3 ATM存款:不能出现负存款。4 修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

我现写的: import java.util.Scanner;public class ATM {

private static String theName = "admin";
private static String thePassword = "123456";

private static int balance = 10000;

public static void getBalance(){
System.out.println("当前余额:" + balance);
}

public static void drawMoney(Scanner sc){
int money = 0;
System.out.println("请输入取款金额:");
money = sc.nextInt();
String type = "";
if (balance > 0) {
if (balance >= money) {
if (money <= 5000) {
balance = balance - money;
type = "请在30秒内提取现金...\n剩余余额:"+balance;
} else if (money <= 0) {
type = "金额错误";
} else {
type = "超出最大限制金额";
}
} else {
type = "超出最大余额";
}
} else {
type = "余额不足";
}
System.out.println(type);
}

public static void bankMoney(Scanner sc){
int money = 0;
System.out.println("请输入存储金额:");
money = sc.nextInt();
String type = "";
if (money > 0) {
balance = balance + money;
type = "存储成功,现有余额:" + balance;
} else {
type = "存储金额不能为负";
}
System.out.println(type);
}

public static void updatePass(Scanner sc){
String oldPass = "";
String newPass1 = "";
String newPass2 = "";
while(true){
System.out.println("请输入原密码:");
oldPass = sc.next();
if (oldPass.equals(thePassword)) {
break;
} else {
System.out.println("密码错误,请重新输入");
}
}
while(true){
System.out.println("请输入新密码");
newPass1 = sc.next();
System.out.println("再次输入");
newPass2 = sc.next();
if (newPass1.equals(newPass2)) {
if (!isSame(newPass1)) {
thePassword = newPass1;
System.out.println("修改成功");
break;
} else {
System.out.println("所有字符不能相同,重新输入");
}
} else {
System.out.println("两次输入不一致,重新输入");
}
}
}

public static boolean isSame(String string){
boolean bool = false;
for (int i = 0; i < string.length() - 1; i++) {
char char1 = string.charAt(i);
for (int j = i + 1; j < string.length(); j++) {
char char2 = string.charAt(j);
if (char1 == char2) {
bool = true;
break;
}
}
}
return bool;
}

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(true){
String name = "";
String password = "";
System.out.println("请输入账号:");
name = sc.next();
System.out.println("请输入密码:");
password = sc.next();
if (name.equals(theName) && password.equals(thePassword)) {
break;
} else {
System.out.println("账号或密码错误,请重新输入!");
}
}
while(true){
int operate = 0;
System.out.println("请选择你要进行的操作:\n1、查询 2、取款 3、存款 4、修改密码 0、退出");
operate = sc.nextInt();
if (0 == operate) {
System.out.println("谢谢使用!");
break;
} else if (1 == operate) {
getBalance();
} else if (2 == operate) {
drawMoney(sc);
} else if (3 == operate) {
bankMoney(sc);
} else if (4 == operate) {
updatePass(sc);
}
}

}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-11-12
说说你的具体要求。要的是图形界面Application还是后台页面还是网页web那种。。还是手机小程序Applet
第2个回答  2013-11-12
main() {int x,Y,liqun; X=200,Y=50; X+Y=liqun; printf ("liqun=%d"); }

java怎么模拟取款机
int money=888,m;int[] rmb=new int[]{100,50,20,10,5,2,1};int[] outmoney=new int[rmb.length];m=money;System.out.println("取款:"+money+"的出钞情况如下:");for(int i=0;i<rmb.length;i++){ outmoney[i]=m\/rmb[i];System.out.println("-->"+rmb[i]+"元 "+outm...

java编写的模拟ATM取款机程序
我现写的: import java.util.Scanner;public class ATM { private static String theName = "admin";private static String thePassword = "123456";private static int balance = 10000;public static void getBalance(){ System.out.println("当前余额:" + balance);} public static void drawMon...

Java编程实现程序用于模拟ATM取款机。
下载文件:code.zip|所有代码都在压缩包中了,

java swing 做一个简单的模拟取款机的程序
import java.awt.TextArea;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class VirtualATM { JPanel jpt,jp1,jp2;JFrame jf;...

我要模拟银行自动取款机工作流程 注意:要用窗口化编程
可以用C++,也可以用JAVA.主菜单,请插卡,卡号可以手工输入 先识别密码,如果密码输错3次,则显示错误结果,(该卡锁住,以后再输入该卡号也无法支取)密码正确后显示取款,查询,密码修改,退卡四项 然后输入支取金额,if(zqje<kye)printf("余额不足");else if(zqje<atmye){ printf("ATM余额不足,请重新...

用Java编写的ATM自动取款机,只要简单调用ACCESS数据来实现存取款,查询...
三个模块,查询,存款,取款,三个连接数据库【加载驱动】这个应该会吧。加载驱动单写一个java文件,同样在逻辑处理部分JavaBean里面写对应的三个模块,同时调用 connection_datebase加载驱动。在JavaBean开始编写三个方法分别对应三个模块要实现的操作。数据库(saving存=0,withdraw取=0,query查询)。通过...

请高人进.JAVA的问题
我看到过有说开发像什么银行ATM取款机那样的程序,都是JAVA开发的,可是看了关于JAVA的教程后,并没有说是到底关于j2me还是J2EE或者J2SE的,这个我一直很不明白,另外,像开发JAVA程序,书上说的都是像文本格式编写那样的软件,像什么E和什么U的那个,为什么JAVA没有像VC++6.0或者VB6.0那样的IDE软件,难道学了JAVA就是用来...

仿真SP真的很重要吗_sp是什么意思
先简单介绍一下什么是仿真SP(ServiceProviders)?如果熟悉WOSA\/XFSSP的人可能就不用解释了,主要对不是很熟悉SP的人提一下 因为我们调试ATM软件时,基本上都需要在一台真正的取款机上调试,不然一些硬件动作没法实现 仿真SP的目的就是能够在一台普通PC上,模拟ATM硬件的动作及结果,从而能够在普通PC上...

把中国建设银行atm转换成c语言
\/\/这是一个关于银行ATM的程序,源代码你自己参考着写一下 \/\/模拟ATM自动取款机

vs2010模拟atm机进行账户余额查询代码,源码类型cs,无数据库
vs2010模拟atm机进行账户余额查询代码,源码类型cs,无数据库 你好,我这边正在为您查询,请稍等一下,我这边马上回复你~ 你好,请再详细描述下你的问题,我好方便为您解答。 你好,很高兴为你解答。 #include #include #include #include int allmoney; \/\/定义全局变量,记录银行卡当前总额 int outmoney; ...

相似回答