首页 / JAVA / 20200922 JAVA能力测试
20200922 JAVA能力测试
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了20200922 JAVA能力测试,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含21886字,纯文字阅读大概需要32分钟。
内容图文
本次题目为设计一个银行ATM机
进行相关的自助操作
代码实现如下
一个基本数据类 Account类
package A20200922;
public class Account { /*Account类的创建*/
private String accountID;
private String accountname;
private String operatedate;
private int operatetype;
private String accountpassword;
private int accountbalance;
private int amount;
public String getaccountID() { /*GET方法的创建*/
return accountID;
}
public String getaccountname() {
return accountname;
}
public String getoperartdate() {
return operatedate;
}
public int getoperaretype() {
return operatetype;
}
public String getaccountpassword() {
return accountpassword;
}
public int getaccountbalance() {
return accountbalance;
}
public int getamount() {
return amount;
}
public void setaccountID(String a) { /*Set方法的创建*/
this.accountID=a;
}
public void setaccountname(String a) {
this.accountname=a;
}
public void setoperatedate(String a) {
this.operatedate=a;
}
public void setoperatetype(int a) {
this.operatetype=a;
}
public void setaccountpassword(String a) {
this.accountpassword=a;
}
public void setaccountbalance(int a) {
this.accountbalance=a;
}
public void setamount(int a) {
this.amount=a;
}
Account(){ /*构造函数*/
this.accountID="00000000";
this.accountname="无名氏";
this.operatedate="0000-00-00";
this.operatetype=0;
this.accountpassword="000000";
this.accountbalance=0;
this.amount=0;
}
Account(String accountID,String accountname,String operatedate,int operatetype,String accountpassword,int accountbalance,int amount){
this.accountID=accountID;
this.accountname=accountname;
this.operatedate=operatedate;
this.operatetype=operatetype;
this.accountpassword=accountpassword;
this.accountbalance=accountbalance;
this.amount=amount;
}
}
一个方法类 AccountManager类
package A20200922;
import java.util.Scanner;
import a20200731.Student;
public class AccountManager {
private static int p=0;
private static int w=0;
public Account[] x=new Account[100];
public void go() { /*空间的开辟*/
int q;
x[0]= new Account("11111111","a","2020-01-01",0,"000000",0,0);
x[1]= new Account("22222222","b","2020-02-02",0,"000000",0,0);
x[2]= new Account("33333333","c","2020-03-03",0,"000000",0,0);
x[3]= new Account("44444444","d","2020-04-04",0,"000000",0,0);
x[4]= new Account("55555555","e","2020-05-05",0,"000000",0,0);
for(q=5;q<100;q++)
{
x[q] = new Account();
}
}
public void Insertbankcardmune() { /*账号输入界面*/
System.out.println("***************************************************************");
System.out.println(" 欢迎使用中国工商银行自动柜员系统 ");
System.out.println("****************************************************************");
System.out.println(" 请输入您的账号: ");
System.out.println(" ");
System.out.println("****************************************************************");
String ID;
Scanner a =new Scanner(System.in);
ID=a.next();
int i;
int length = ID.length();
if(!(length==8)) {
System.out.println("该卡不是工行卡!");
Insertbankcardmune();
}
for(i=0;i<5;i++) {
if(!(ID.equals(x[i].getaccountID())))
{
}
if(ID.equals(x[i].getaccountID())) {
p=i;
break;
}
}
if(i==5&&(!ID.equals(x[4].getaccountID()))) {
System.out.println("该账户不存在!");
Insertbankcardmune();
}
else {
enterpassword();
}
}
public void enterpassword() { /*输入密码界面*/
int j;
System.out.println("***************************************************************");
System.out.println(" 请输入您的密码: ");
System.out.println("");
System.out.println("***************************************************************");
String password;
Scanner a =new Scanner(System.in);
password=a.next();
int length = password.length();
if(!(length==6)) {
System.out.println("密码位数错误!");
enterpassword();
}
for(j=0;j<5;j++) {
if(!(password.equals(x[p].getaccountpassword()))) {
}
if(password.equals(x[p].getaccountpassword())) {
break;
}
}
if(w==3) {
System.out.println("该账号三次录入密码错误,该卡已被系统没收,请与工行及时联系处理!");
Insertbankcardmune();
}
if(j==5&&(!password.equals(x[4].getaccountpassword()))) {
System.out.println("密码录入错误!");
w++;
enterpassword();
}
else {
mune();
}
}
public void mune() { /*进入菜单界面*/
System.out.println("***************************************************************");
System.out.println(" 欢迎"+x[p].getaccountname()+"使用中国工商银行自助柜员系统");
System.out.println("***************************************************************");
System.out.println(" 1丶存款; ");
System.out.println(" 2丶取款; ");
System.out.println(" 3、转账汇款; ");
System.out.println(" 4、修改密码; ");
System.out.println(" 5、查询余额; ");
System.out.println("***************************************************************");
int n;
Scanner a =new Scanner(System.in);
n= a.nextInt();
switch(n){
case 1:
deposit();
break;
case 2:
Withdrawal();
break;
case 3:
transfermoney();
break;
case 4:
change();
break;
case 5:
find();
break;
}
}
public void deposit() { /*存款方法*/
System.out.println("***************************************************************");
System.out.println(" 请输入存款金额: ");
System.out.println("");
System.out.println("***************************************************************");
int money;
Scanner a =new Scanner(System.in);
money=a.nextInt();
if(money<0) {
System.out.println("输入金额有误!");
mune();
}
else {
x[p].setaccountbalance(x[p].getaccountbalance()+money);
x[p].setamount(x[p].getamount()+money);
System.out.println("***************************************************************");
System.out.println(" 欢迎"+x[p].getaccountname()+"使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
System.out.println(" 当前账户存款操作成功! ");
System.out.println(" 当前账户余额为:"+x[p].getaccountbalance()+"元");
System.out.println("***************************************************************");
mune();
}
}
public void Withdrawal() { /*取款方法*/
System.out.println("***************************************************************");
System.out.println(" 欢迎"+x[p].getaccountname()+"使用中国工商银行自助柜员系统");
System.out.println("***************************************************************");
System.out.println(" 当前账户每日可以支取2万元。 ");
System.out.println(" 1 100元 ");
System.out.println(" 2 500元 ");
System.out.println(" 3 1000元 ");
System.out.println(" 4 1500元 ");
System.out.println(" 5 2000元 ");
System.out.println(" 6 5000元 ");
System.out.println(" 7 其他金额 ");
System.out.println(" 8 退卡 ");
System.out.println(" 9 返回 ");
System.out.println("***************************************************************");
int a,c;
Scanner b = new Scanner(System.in);
a=b.nextInt();
switch(a) {
case 1:
if(x[p].getaccountbalance()<100) {
System.out.println("账户余额不足");
}
else {
x[p].setaccountbalance(x[p].getaccountbalance()-100);
x[p].setamount(x[p].getamount()-100);
System.out.println("***************************************************************");
System.out.println(" 欢迎"+x[p].getaccountname()+"使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
System.out.println(" 当前账户取款操作100元成功! ");
System.out.println(" 当前账户余额为:"+x[p].getaccountbalance()+"元");
System.out.println("***************************************************************");
}
Scanner d = new Scanner(System.in);
c = d.nextInt();
if(c==8) {
Insertbankcardmune();
}
if(c==9) {
mune();
}
break;
case 2:
if(x[p].getaccountbalance()<500) {
System.out.println("账户余额不足");
}
else {
x[p].setaccountbalance(x[p].getaccountbalance()-500);
x[p].setamount(x[p].getamount()-500);
System.out.println("***************************************************************");
System.out.println(" 欢迎"+x[p].getaccountname()+"使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
System.out.println(" 当前账户取款操作500元成功! ");
System.out.println(" 当前账户余额为:"+x[p].getaccountbalance()+"元");
System.out.println("***************************************************************");
}
Scanner e = new Scanner(System.in);
c = e.nextInt();
if(c==8) {
Insertbankcardmune();
}
if(c==9) {
mune();
}
break;
case 3:
if(x[p].getaccountbalance()<1000) {
System.out.println("账户余额不足");
}
else {
x[p].setaccountbalance(x[p].getaccountbalance()-1000);
x[p].setamount(x[p].getamount()-1000);
System.out.println("***************************************************************");
System.out.println(" 欢迎"+x[p].getaccountname()+"使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
System.out.println(" 当前账户取款操作1000元成功! ");
System.out.println(" 当前账户余额为:"+x[p].getaccountbalance()+"元");
System.out.println("***************************************************************");
}
Scanner f = new Scanner(System.in);
c = f.nextInt();
if(c==8) {
Insertbankcardmune();
}
if(c==9) {
mune();
}
break;
case 4:
if(x[p].getaccountbalance()<1500) {
System.out.println("账户余额不足");
}
else {
x[p].setaccountbalance(x[p].getaccountbalance()-1500);
x[p].setamount(x[p].getamount()-1500);
System.out.println("***************************************************************");
System.out.println(" 欢迎"+x[p].getaccountname()+"使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
System.out.println(" 当前账户取款操作1500元成功! ");
System.out.println(" 当前账户余额为:"+x[p].getaccountbalance()+"元");
System.out.println("***************************************************************");
}
Scanner g = new Scanner(System.in);
c = g.nextInt();
if(c==8) {
Insertbankcardmune();
}
if(c==9) {
mune();
}
break;
case 5:
if(x[p].getaccountbalance()<2000) {
System.out.println("账户余额不足");
}
else {
x[p].setaccountbalance(x[p].getaccountbalance()-2000);
x[p].setamount(x[p].getamount()-2000);
System.out.println("***************************************************************");
System.out.println(" 欢迎"+x[p].getaccountname()+"使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
System.out.println(" 当前账户取款操作100元成功! ");
System.out.println(" 当前账户余额为:"+x[p].getaccountbalance()+"元");
System.out.println("***************************************************************");
}
Scanner h = new Scanner(System.in);
c = h.nextInt();
if(c==8) {
Insertbankcardmune();
}
if(c==9) {
mune();
}
break;
case 6:
if(x[p].getaccountbalance()<5000) {
System.out.println("账户余额不足");
}
else {
x[p].setaccountbalance(x[p].getaccountbalance()-5000);
x[p].setamount(x[p].getamount()-5000);
System.out.println("***************************************************************");
System.out.println(" 欢迎"+x[p].getaccountname()+"使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
System.out.println(" 当前账户取款操作5000元成功! ");
System.out.println(" 当前账户余额为:"+x[p].getaccountbalance()+"元");
System.out.println("***************************************************************");
}
Scanner l = new Scanner(System.in);
c = l.nextInt();
if(c==8) {
Insertbankcardmune();
}
if(c==9) {
mune();
}
break;
case 7:
System.out.println("***************************************************************");
System.out.println(" 欢迎"+x[p].getaccountname()+"使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
System.out.println(" 请输入取款金额:");
System.out.println("***************************************************************");
int z;
Scanner y = new Scanner(System.in);
z = y.nextInt();
if(x[p].getaccountbalance()<z)
{
System.out.println("账户余额不足!");
}
else {
x[p].setaccountbalance(x[p].getaccountbalance()-z);
x[p].setamount(x[p].getamount()-z);
System.out.println("***************************************************************");
System.out.println(" 欢迎"+x[p].getaccountname()+"使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
System.out.println(" 当前账户取款操作"+z+"元成功! ");
System.out.println(" 当前账户余额为:"+x[p].getaccountbalance()+"元");
System.out.println("***************************************************************");
}
Scanner i = new Scanner(System.in);
c = i.nextInt();
if(c==8) {
Insertbankcardmune();
}
if(c==9) {
mune();
}
break;
case 8:
Insertbankcardmune();
break;
case 9:
mune();
break;
}
}
public void transfermoney() { /*转账方法*/
System.out.println("***************************************************************");
System.out.println(" 欢迎"+x[p].getaccountname()+"使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
System.out.println(" 请输入转账账户: ");
System.out.println("***************************************************************");
String ID;
int j,money;
Scanner a = new Scanner(System.in);
ID = a.next();
int length = ID.length();
if(!(length==8)) {
System.out.println("账户输入错误!");
transfermoney();
}
for(j=0;j<5;j++) {
if(!(ID.equals(x[j].getaccountID()))) {
}
if(ID.equals(x[j].getaccountID())) {
break;
}
}
if(j==5&&(!ID.equals(x[4].getaccountID()))) {
System.out.println("该账户不存在!");
transfermoney();
}
else {
System.out.println("***************************************************************");
System.out.println(" 欢迎"+x[p].getaccountname()+"使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
System.out.println(" 请输入转账金额: ");
System.out.println("***************************************************************");
Scanner b = new Scanner(System.in);
money = b.nextInt();
if(x[p].getaccountbalance()<money) {
System.out.println("当前余额不足");
mune();
}
else {
System.out.println("***************************************************************");
System.out.println(" 欢迎"+x[p].getaccountname()+"使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
System.out.println(" 请确认是否向账户名为:"+ID+"转账"+money+"元" );
System.out.println("***************************************************************");
System.out.println(" 如果确认请输入“Y”不确认输入“N” ");
String u;
Scanner o =new Scanner(System.in);
u=o.next();
if(u.equals("Y")) {
x[p].setaccountbalance(x[p].getaccountbalance()-money);
System.out.println("***************************************************************");
System.out.println(" 欢迎"+x[p].getaccountname()+"使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
System.out.println(" 当前账户向"+ID+"转账"+money+"元");
System.out.println(" 当前账户余额为:"+x[p].getaccountbalance()+"元");
System.out.println("***************************************************************");
mune();
}
else if(u.equals("N")) {
mune();
}
else {
System.out.println("输入错误!");
mune();
}
}
}
}
public void find() { /*查询方法*/
System.out.println("***************************************************************");
System.out.println(" 欢迎"+x[p].getaccountname()+"使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
System.out.println(" 当前账户余额为:"+x[p].getaccountbalance()+" ");
System.out.println("输入“q”键可返回系统录入账号界面。输入任意键可推出。");
String a;
Scanner b = new Scanner(System.in);
a= b.next();
if(a.equals("q")) {
Insertbankcardmune();
}
else {
quit();
}
}
public void change() { /*修改密码方法*/
System.out.println("***************************************************************");
System.out.println(" 欢迎"+x[p].getaccountname()+"使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
System.out.println(" 请输入当前密码:");
System.out.println(" 请输入修改密码:");
System.out.println(" 请输入确认密码:");
String a,b,c;
Scanner e = new Scanner(System.in);
a=e.next();
if(a.equals(x[p].getaccountpassword())) {
Scanner f = new Scanner(System.in);
b=f.next();
Scanner g = new Scanner(System.in);
c=g.next();
if(b.equals(c)) {
x[p].setaccountpassword(b);
System.out.println("密码修改成功!");
mune();
}
else {
System.out.println("修改后密码与确认密码不一致!");
change();
}
}
else {
System.out.println("密码错误!");
change();
}
}
public void quit() {
System.out.println("程序已退出!感谢您的使用!");
}
}
主函数类
package A20200922;
public class main {
public static void main(String[] arg) {
AccountManager a = new AccountManager();
a.go();
a.Insertbankcardmune();
}
}
运行截图如下
这是基本成型的程序运行结果
其中还有很多的细节有待补充
其中
对于数据的存储
本程序是使用的数组进行存储
但是实际题目要求使用的是文件流的方式来进行存储
并进行调用
这就在功能上留下了一些不方便实现的地方
也就有一些隐患
一些功能的实现是很粗糙的
还有就是在本次实验设计过程中
对于功能 结构的划分
还是有待加强
其中还是有些地方不太明朗
浪费了很多时间来权衡利弊
不知道放在哪里好
最后也就导致了一些功能的实现十分的繁琐
此次编程一共将近600行的代码
其中很大一部分是重复的罗列
这就导致层次性下降
如果没有一些注释
这会让人看起来很不方便
与老师要求的将近200多行
多出来了折磨多
这又是一个不太好的地方
其中也有很多收获
对于一些子页面的跳转
一些功能的跳转
有了更加清晰的思路
这是自己可以明显感觉到的一些地方
希望未来可以进步的更快更多
内容总结
以上是互联网集市为您收集整理的20200922 JAVA能力测试全部内容,希望文章能够帮你解决20200922 JAVA能力测试所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。