「javaatm系统」java im系统
今天给各位分享javaatm系统的知识,其中也会对java im系统进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、JAVA 模拟ATM柜员机模拟程序
- 2、java atm源代码解析
- 3、如何用Java编写模拟ATM取款机的程序
- 4、Java模拟银行ATM完成以下功能: 1)查询余额 2)取款 3)存款 4)退出
- 5、java atm系统具体解决什么,运用了哪些知识?/
JAVA 模拟ATM柜员机模拟程序
/**
要求:使用字符用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:
1、查询余额:初始余额为10000元
2、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
3、ATM存款:不能出现负存款。
4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
(卡号密码余额放到文件中)
*/
public class Test {
private static int account;
private static int password;
private static int money;
private static boolean isLogin;
static{
account = 123456;
password = 123456;
money = 10000;
isLogin = false;
}
//存款
public void cun(int cunKuan){
if(cunKuan=0){
this.money += cunKuan;
}else{
System.out.println("存款不能为负!");
}
}
//取款
public void qu(int quKuan){
if(this.money - quKuan 0){
System.out.println("余额不足!");
return;
}
if(isValid(quKuan)){
this.money -= quKuan;
}else{
System.out.println("取款不能为负,且应为100的倍数!");
}
}
//判断是否为有效的金额
private boolean isValid(int money){
if(money = 0 money % 100 == 0){
return true;
}
return false;
}
//登陆
public void login(){
System.out.println("请输入账号和密码【格式为:账号/密码】");
String login = new Scanner(System.in).next();
if(login.equalsIgnoreCase("123456/123456")){
this.isLogin = true;
}else{
System.out.println("账号或者密码错误,请重新输入!");
login();
}
}
//主菜单
public void show(){
System.out.println("[1]存款");
System.out.println("[2]取款");
System.out.println("[3]退出");
System.out.println("请输入:");
int key = new Scanner(System.in).nextInt();
switch (key) {
case 1:
cun(new Scanner(System.in).nextInt());
break;
case 2:
qu(new Scanner(System.in).nextInt());
break;
case 3:
System.exit(0);
default:
break;
}
}
public static void main(String[] args) {
Test t = new Test();
t.login();
if(t.isLogin){
for(;;){
t.show();
System.out.println("您当前的余额为:" + t.money);
}
}
}
}
java atm源代码解析
先不说公司的保密协议
一个项目的代码能在这里全贴出来,还给你讲解的清楚?
、不过整个取款机流程是很简单的,就是用户进行不同的操作,
java 调用 JNI驱动硬件执行相应的操作,关键就是组织各种类型的报文,
通过DTU发送到银联那边,比如说支付报文,冲正报文,日结报文……
这些报文的组织一般java 也只管传入JNI 中C++组装好以后再调用 DTU驱动发送
java 这一块就是处理一些逻辑或者页面流转之类的、
代码是不可能贴的,保密协议还是有一定的约束力的
MyView myView = new MyView();
myView.anyView = this;
this.remove(this.xxPanel);
this.add(myView.getPanel());
this.repaint();
如何用Java编写模拟ATM取款机的程序
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模拟银行ATM完成以下功能: 1)查询余额 2)取款 3)存款 4)退出
import java.util.Scanner;
public class ATM{
public static void main(String... args){
Scanner sc=new Scanner(System.in);
double money=0;
do{
System.out.println("请选择业务:1)查询余额 2)取款 3)存款 4)退出");
int c=sc.nextInt();
if(c==1){
System.out.println("用户余额为:"+money+"元");
}else if(c==2){
while(true){
System.out.println("请输入取款金额:");
double load=sc.nextDouble();
if(load=money){
System.out.println("账户余额不足,请重新输入取款金额");
continue;
}else{
money-=load;
System.out.println("取款成功");
break;
}
}
}else if(c==3){
System.out.println("请输入存款金额:");
money+=sc.nextDouble();
System.out.println("存款成功");
}else if(c==4){
System.exit(0);
}else{
System.out.println("输入错误,请重新选择业务");
}
}while(true);
}
}
java atm系统具体解决什么,运用了哪些知识?/
减少了银行取款的压力,24小时取款,分布地点多,方便了广大群众随时取款
运用到的技术:
首先是swing ,其次像多线程,文件流,socket ,
会java 调用C++ JNI操作硬件……
这个一般会有后台管理,后台管理就是最基本的J2EE技术实现
javaatm系统的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java im系统、javaatm系统的信息别忘了在本站进行查找喔。