银行登录系统

date: 2017/12/26 13:51:25


Java方法调用



采用JAVA基本知识的结合技术实现工商银行模拟系统项目。
整个项目包括普通用户登录,退出,查询余额,存款,取款,转账等功能。
2017年实训项目 银行登录系统 第一学期Java学习

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
package android.xiaolan.atm.tools;
import java.util.Scanner;
public class Main {
/**
* @param 银行登录系统
*/
// 用户名
public static String user;
// 输入
public static Scanner sc = new Scanner(System.in);
// 密码登录次数
public static int a = 3;
public static String[][] xiaolan666 = {
//卡号
{ "admin", "admin1", "admin2", "admin3", "admin4", },
//密码
{ "520", "520", "520", "520", "520" },
//金额
{ "105500", "2000", "5000", "2000", "5000" }, };
//当前登录的 账号坐标
public static int admin;
//当前账号登录后的钱
public static int xyz = 0;
//转账的坐标
public static int adminmony;
public static void main(String[] args) {
intView(">>请输入对应的序号选项:");
}
public static void intView(String xiaolan) {
// TODO 首页方法
System.out.println("\n-----------------------------");
System.out.println(" 欢迎登录工商银行登录系统");
System.out.println("\t1. 登录");
System.out.println("\t2. 退卡");
System.out.println("-----------------------------");
System.out.print(xiaolan);
// 获取数字
int o = sc.nextInt();
switch (o) {
case 1:
// 方法登录
Login();
break;
case 2:
// 退出
System.out.println("退出成功\n欢迎下次光临");
break;
default:
intView("\n系统没有您要选择的序号,请重新输入...");
}
}
public static void Login() {
// TODO 登录的方法
boolean b1 = false;
do {
System.out.println("请输入卡号和密码,您还有" + a + "次机会\n");
System.out.print("请输入卡号:");
user = sc.next();
System.out.print("请输入密码:");
String password = sc.next();
for (int i = 0; i < xiaolan666[0].length; i++) {
if (xiaolan666[0][i].equals(user)&& xiaolan666[1][i].equals(password)) {
//确定登录坐标
admin = i;
System.out.println("登录成功\n\n");
// String 转 int 拿到钱
int xiaolan = Integer.valueOf(xiaolan666[2][i]).intValue();
xyz = xiaolan;
b1 = true;
item(">>请输入对应的序号选项:");
break;
}
}
if(b1){
break;
}
a--;
} while (a > 0);
if (a == 0) {
System.out.println("3次尝试机会已经使用完,卡已经锁定,请到工商银行柜台办理!");
}
}
public static void item(String s) {
// TODO 这里是菜单页面
System.out.println("\n-----------------------------");
System.out.println("\t1. 查询余额");
System.out.println("\t2. 转账");
System.out.println("\t3. 存款");
System.out.println("\t4. 取款");
System.out.println("\t5. 退卡");
System.out.println("-----------------------------");
System.out.println(s);
int o = sc.nextInt();
switch (o) {
case 1:
// 查询余额
System.out.println("您当前余额为:" + xyz + "元");
// 确认交易
Return("是否返回上一级<Y是/N否>");
break;
case 2:
// 转账
zhuanzhang("请输入要转账的账户:");
// 确认交易
Return("是否返回上一级<Y是/N否>");
break;
case 3:
// 存款
cunkuan();
// 确认交易
Return("是否返回上一级<Y是/N否>");
break;
case 4:
// 取款
qukuan();
// 确认交易
Return("是否返回上一级<Y是/N否>");
break;
case 5:
// 退卡
System.out.println("退卡成功\n欢迎下次光临");
a = 3;
intView(">>请输入对应的序号选项:");
break;
default:
// 不符合序号
// 回调
item("\n系统没有您要选择的序号,请重新输入...");
break;
}
}
public static void Return(String s) {
// TODO 继续交易 确认
System.out.println(s);
char c = sc.next().charAt(0);
switch (c) {
case 'y':
item("请继续交易或者选择退卡");
break;
case 'n':
// 退卡
System.out.println("退卡成功\n欢迎下次光临");
a = 3;
intView(">>请输入对应的序号选项:");
break;
case 'Y':
item("请继续交易或者选择退卡");
break;
case 'N':
// 退卡
System.out.println("退卡成功\n欢迎下次光临");
a = 3;
intView(">>请输入对应的序号选项:");
break;
default:
// 回调
Return("\n系统没有您要选择的序号,请重新输入...\n是否返回上一级<Y是/N否>");
}
}
public static void qukuan() {
// TODO 取款
System.out.print("请输入取款金额:");
int f = sc.nextInt();
// 判断钱
if (xyz < f) {
System.out.println("您的账户余额不足" + f + "元");
qukuan();
return;
}
// 取款后 吧取后的 赋值给数组
xyz = xyz - f;
//int 转 String
String x1= String.valueOf(xyz);
xiaolan666[2][admin] = x1;
System.out.println("取现" + f + "元,账户剩余" + xyz + "元");
}
public static void zhuanzhang(String s1) {
// TODO 转账判断
System.out.println(s1);
//获取转账用户
String useradmin = sc.next();
if (useradmin.equals(xiaolan666[0][admin])) {
zhuanzhang("不能给自己转账\n请重新输入要转账的账户:");
} else {
boolean b = false;
for (int k = 0; k < xiaolan666[0].length; k++) {
if (useradmin.equals(xiaolan666[0][k])) {
//遍历数组 查看 转账坐标 复赋值 k
adminmony = k;
b = true;
xiaolan("请输入金额:");
break;
}
}
//找不到时候 输false
if (!b) {
System.out.println("用户不存在");
}
}
}
public static void xiaolan(String a) {
System.out.println(a);
int f = sc.nextInt();
if (xyz < f) {
xiaolan("您的账户余额不足" + f + "元\n请重新输入金额:");
} else {
//吧转账后的 钱赋值给 原坐标
xyz = xyz - f;
String x= String.valueOf(xyz);
xiaolan666[2][admin] = x;
String str1= xiaolan666[2][adminmony] ;
//把钱赋值给转账坐标
int xp = Integer.valueOf(str1).intValue();
int xp1 = xp + f;
String e = String.valueOf(xp1);
xiaolan666[2][adminmony] = e;
System.out.println("已成功转出" + f + "元,账户剩余" + xyz + "元");
}
}
public static void cunkuan() {
// TODO 存款
//本金加 存款 赋值登录用户数组 坐标
System.out.print("请输入存入金额:");
int f = sc.nextInt();
xyz = xyz + f;
String str = String.valueOf(xyz);
xiaolan666[2][admin] = str;
System.out.println("系统已将" + f + "元,账户剩余" + xyz + "元");
}
}

Android端免Root运行Java文件


**把Java文件编译成Dex文件**
**把文件打包jar**
**放在SD卡根目录**
**cd到目录下**
**输入命令 dalvikvm -cp 名称.jar 包名.程序第一个入口**
**比如**
**dalvikvm -cp xiaolan.jar android.xiaolan.atm.tools.Main**

手机预览效果图



文章目录
  1. 1. date: 2017/12/26 13:51:25
  2. 2. Android端免Root运行Java文件
  3. 3. 手机预览效果图