扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
先不说公司的保密协议
站在用户的角度思考问题,与客户深入沟通,找到寿县网站设计与寿县网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、成都网站设计、企业官网、英文网站、手机端网站、网站推广、域名与空间、网站空间、企业邮箱。业务覆盖寿县地区。
一个项目的代码能在这里全贴出来,还给你讲解的清楚?
、不过整个取款机流程是很简单的,就是用户进行不同的操作,
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();
参考了别人的代码。略作修改,已经很简单了:
InfoATM.java:
public class InfoATM {
double money = 0;
public InfoATM(double cash) {
super();
this.money = cash;
}
// 存款的方法
public void save(double count) {
money += count;
}
// 取款的方法
public void draw(double count) {
money -= count;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
}
TestATM.java:
import java.awt.BorderLayout;
import java.awt.GridLayout;
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;
import javax.swing.JTextField;
public class TestATM extends JFrame {
private static final long serialVersionUID = 2531222181184935595L;
// 主面板pnBasic是用来装pnDate和标签文字的。
private JPanel pnBasic;
// 添加到主面板中的中间 pnDate面板是为了装表单的。
private JPanel pnDate;
// 添加到主面板中的北边 pnLabel面板是为了装欢迎词的
private JPanel pnLabel;
InfoATM atm = new InfoATM(0);
public TestATM() {
pnBasic = new JPanel();
// 主面板pnBasic是用来装pnDate和标签文字的。
pnDate = new JPanel(new GridLayout(2, 2));
// pnDate面板是为了装表单的。
pnLabel = new JPanel();
JLabel top = new JLabel("欢迎来到中国银行!");
pnLabel.add(top);
// 先将数值添加在一个容器中并设置其在容器的右边,在将容器添加在网格的第一格
JPanel jp1 = new JPanel();
JLabel number = new JLabel("数值:");
final JTextField box = new JTextField(5);
jp1.add(number);
jp1.add(box);
JPanel jp2 = new JPanel();
JButton create = new JButton("新建银行账户");
jp2.add(create);
JButton take = new JButton("取款");
JButton in = new JButton("存款");
pnDate.add(jp1);
pnDate.add(jp2);
pnDate.add(take);
pnDate.add(in);
// 加一句下面的就好了
JPanel jpS = new JPanel();
final JLabel total = new JLabel("您现在的账户余额是:0 元");
jpS.add(total);
pnBasic.setLayout(new BorderLayout());
pnBasic.add(pnLabel, BorderLayout.NORTH);
pnBasic.add(pnDate, BorderLayout.CENTER);
pnBasic.add(jpS, BorderLayout.SOUTH);
setContentPane(pnBasic);
setBounds(400, 250, 500, 500);
pack();
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setVisible(true);
pack();
in.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (box.getText() != null box.getText() != "") {
try {
double count = Double.parseDouble(box.getText());
if (count 0) {
atm.save(count);
total.setText("您现在的账户余额是:" + atm.getMoney() + "元");
box.setText("");
}
} catch (Exception e1) {
System.out.println("您输入的数值必须是数字");
}
}
}
});
take.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (box.getText() != null box.getText() != "") {
try {
double count = Double.parseDouble(box.getText());
if (count = 0 count = atm.getMoney()) {
atm.draw(count);
total.setText("您现在的账户余额是:" + atm.getMoney() + "元");
box.setText("");
} else {
System.out.println("你的余额不足,取款失败");
}
} catch (Exception e1) {
System.out.println("您输入的数值必须是数字");
}
}
}
});
create.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
total.setText("您现在的账户余额是:0元");
atm.setMoney(0);
box.setText("");
}
});
}
public static void main(String[] args) {
new TestATM();
}
}
import java.util.*;
public class ATM {
static int people=123456;
static int mima=123456;
static int yue=10000;
static Scanner in=null;
public ATM(int people,int mima){
this.mima=mima;
}
public static void main(String[] args) {
chongxindenglu();
int count=1;
while(count!=0){
System.out.println("1、查询余额");
System.out.println("2、取款");
System.out.println("3、存款");
System.out.println("4、修改密码");
System.out.println("5、重新登录");
count=in.nextInt();
switch(count){
case 1: System.out.println(10000); System.out.println(); break;
case 2: quKuan(); break;
case 3: cunKuan(); break;
case 4: xiugai(); break;
case 5: chongxindenglu();
}
}
}
public static void quKuan(){
System.out.println("请输入取款金额:");
int qukuanjine=in.nextInt();
if(qukuanjine5000){
System.out.println("取款金额不能大于5000"+"\n");
}else{
if(qukuanjine%100!=0){
System.out.println("取款金额必须为100的整数倍"+"\n");
}else{
yue=yue-qukuanjine;
System.out.println("您取出了"+qukuanjine+"元,您现在的余额为:"+yue+"元"+"\n");
}
}
}
public static void cunKuan(){
System.out.println("请输入存款金额");
int cunkuanjine=in.nextInt();
if(cunkuanjine0){
System.out.println("存款金额不能小于0");
}else{
yue=yue+cunkuanjine;
System.out.println("您已成功存入:"+cunkuanjine+"元,您现在总余额为:"+yue+"元"+"\n");
}
}
public static void xiugai(){
System.out.println("请输入您的密码:");
int mima1=in.nextInt();
if(mima1==mima){
System.out.println("请输入新密码:");
mima=in.nextInt();
System.out.println("您的密码已修改为:"+mima+"\n");
}else{
System.out.println("密码输入错误:"+"\n");
}
}
public static void chongxindenglu(){
in=new Scanner(System.in);
System.out.println("请输入登录帐号:");
int denglupeople=in.nextInt();
System.out.println("请输入登录密码:");
int denglumima=in.nextInt();
if(denglupeople==people denglumima==mima)
System.out.println("帐号登录成功"+"\n");
else
System.out.println("密码输入错误,登录失败"+"\n");
}
}
package arraylist;
import java.util.Scanner;
public class AtmDemo
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
Boolean flag = true;
int times = 0;
while(flag){
times++;
if(times == 4){
System.out.println("密码错误,请取卡");
break;
}
System.out.println("请输入你的密码");
String password = sc.next();
if(password.equals("111111")){
Boolean moneyflag = true;
while(moneyflag){
System.out.println("请输入金额");
int number = sc.nextInt();
if(number = 0 number = 1000 number % 100 == 0){
System.out.println("用户取了" + number + "元。交易完成");
moneyflag = false;
}else{
System.out.println("请重新输入金额");
}
}
break;
}else{
continue;
}
}
}
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流