先不說公司的保密協(xié)議
岫巖ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
一個項目的代碼能在這里全貼出來,還給你講解的清楚?
、不過整個取款機流程是很簡單的,就是用戶進行不同的操作,
java 調用 JNI驅動硬件執(zhí)行相應的操作,關鍵就是組織各種類型的報文,
通過DTU發(fā)送到銀聯(lián)那邊,比如說支付報文,沖正報文,日結報文……
這些報文的組織一般java 也只管傳入JNI 中C++組裝好以后再調用 DTU驅動發(fā)送
java 這一塊就是處理一些邏輯或者頁面流轉之類的、
代碼是不可能貼的,保密協(xié)議還是有一定的約束力的
MyView myView = new MyView();
myView.anyView = this;
this.remove(this.xxPanel);
this.add(myView.getPanel());
this.repaint();
參考了別人的代碼。略作修改,已經(jīng)很簡單了:
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);
//?先將數(shù)值添加在一個容器中并設置其在容器的右邊,在將容器添加在網(wǎng)格的第一格
JPanel?jp1?=?new?JPanel();
JLabel?number?=?new?JLabel("數(shù)值:");
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("您現(xiàn)在的賬戶余額是: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("您現(xiàn)在的賬戶余額是:"?+?atm.getMoney()?+?"元");
box.setText("");
}
}?catch?(Exception?e1)?{
System.out.println("您輸入的數(shù)值必須是數(shù)字");
}
}
}
});
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("您現(xiàn)在的賬戶余額是:"?+?atm.getMoney()?+?"元");
box.setText("");
}?else?{
System.out.println("你的余額不足,取款失敗");
}
}?catch?(Exception?e1)?{
System.out.println("您輸入的數(shù)值必須是數(shù)字");
}
}
}
});
create.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
total.setText("您現(xiàn)在的賬戶余額是:0元");
atm.setMoney(0);
box.setText("");
}
});
}
public?static?void?main(String[]?args)?{
new?TestATM();
}
}
下面是一個簡單的登錄示例:
代碼復制展示:
public class ATMLogin {
public static void main(String[] args) {
// 設置用戶名和密碼
String username = "gqk";
String password = "520";
// 最多可以登錄 3 次
for (int i = 0; i 3; i++) {
// 讀取用戶輸入的用戶名和密碼
Scanner in = new Scanner(System.in);
System.out.print("請輸入用戶名:");
String inputUsername = in.nextLine();
System.out.print("請輸入密碼:");
String inputPassword = in.nextLine();
// 檢查用戶名和密碼是否正確
if (inputUsername.equals(username) inputPassword.equals(password)) {
System.out.println("歡迎" + username + "登錄!");
break; // 登錄成功,退出循環(huán)
} else {
System.out.println("用戶名或密碼錯誤,請重新輸入!");
}
}
// 如果 3 次登錄都失敗,則提示用戶
System.out.println("卡片已經(jīng)被鎖,請聯(lián)系客服人員!");
}
}
回答不易望請采納
原程序的錯誤有:
1.a為int型。去掉‘’
2.ATM1 atm = new ATM1 , 類名要和前面的一致
3.加入int a = sc.nextInt();// 請加入此句 進而選擇相應功能,
PS:程序已調好,試試吧。
import java.util.Scanner;
public class ATM1 {
Scanner sc = new Scanner(System.in);
private String name = "lorin";
private double password = 123;
private double money = 500;
public void aloha(){
System.out.println("***********************");
System.out.println("* *");
System.out.println("* 歡迎使用ATM *");
System.out.println("* *");
System.out.println("* 制作人:lorin *");
System.out.println("* *");
System.out.println("* *");
System.out.println("************************");
land();
}
//登陸頁面
public void land(){
System.out.println("請選擇操作界面:1取款,2存款,3查詢,4轉賬,5退出");
int a = sc.nextInt();// 請加入此句
switch(a){
case 1 : // 去掉‘’ 因為a 為int型。
get();
break;
case 2 :
set();
break;
case 3 :
query();
break;
case 4 :
divert();
break;
case 5 :
SetOut();
break;
}
}
//取款
public void get(){
System.out.println("請輸入取款金額:");
int a = sc.nextInt();
if(amoney){
System.out.println("余額不足!");
}else{
money-=a;
System.out.println("當前余額為:"+money);
land();
}
}
//存款
public void set(){
System.out.println("請輸入存款金額:");
int a = sc.nextInt();
money+=a;
System.out.println("當前余額為:"+money);
land();
}
//查詢
public void query(){
System.out.println("當前余額為:"+money);
land();
}
//轉賬
public void divert(){
System.out.println("該功能站未開放!");
land();
}
//退出
public void SetOut(){
System.exit(0);
}
public static void main(String[] args) {
ATM1 atm = new ATM1();
atm.aloha();
}
}