Java第一次考试作业
这次考试感觉自己充分的意识到自己的不足,对于Java没有系统的理解,敲程方面也有很大问题,本次程序题目为ATM机的账户记录Account有账户的唯一性标识,用户的姓名,操作日期(Date),操作类型,账户密码,当前的余额。定义Account类,其中包括七个私有变量(accountID,accountname,operatedate,operatetype,accountpassword, accountbalance)。各成员的含义如下:变量accountID为字符串类型String,用于存储学生的用户账号(由八位数字组成)。变量accountname为字符串类型String,用于存储账户的名称。变量operatedate为字符串类型String,用于存储操作的时间,由十位字符组成,显示格式为“2018-09-20”。 变量operatetype为int类型,用于存储操作账户的类型,具体描述为“1”表示存款,“2”表示取款,“3”表示转账汇款,“4”表示修改账户密码,“5”表示查询余额。变量accountpassword为字符串类型String,用于用户密码,由六位数字组成。变量accountbalance为整数类型int,用于存储账户余额,缺省为0。变量amount为整数类型int,表示操作流水金额。对每个变量定义get())和set()的方法。定义accountinformation.txt作为账户基本信息库,基本信息包括accountID,accountname,accountpassword, accountbalance,要求事先实现至少存储五个账户的信息,定义accountlist.txt作为账户操作流水信息数据库,操作流水信息包括(accountID,accountname,operatedate,operatetype, amount)。其功能要求为该程序模拟ATM的功能设计,当用户插卡后显示,输入密码界面,用户输入正确密码(用户输入错误密码,则提示该卡已被锁定,无法操作),则弹出选择界面:存款、取款、转账汇款、修改密码、查询余额。
个人感觉通过此次编程自己又学到了很多,比如界面输出语句的具体使用方法,Java中输入输出b语句的使用,Java中判断所输入数据是否为正整数,感觉自己假期的学习还是很的不足,差了很多,深刻的认识到了自己的不足,也打算在接下来的时间里好好学习代码,就像建民欧巴说的这次的成绩并不是很重要,重要的是通过这次自己学到了什么,认识到自己有哪些不足,并从这次的错误中看到自己的不足,并学会他,搞定他,最终能够成功的运用它,毕竟自己脑袋里的东西最重要,熟练应用自己的知识也很重要,我觉得通过这次自己也真的意识到到底差在哪里和别人的差距在哪里,自己又有哪些不足的,最后,既然自己选择了这个专业,那就一定要对的起自己的选择,也相信自己会在这半年的学习中让自己更加的优秀
- package moniATM;
- import java.io.UnsupportedEncodingException;
- import java.io.UnsupportedEncondingException;
- import java.nio.charset.Charset;
- import java.util.scanner;
- public class Account
- {
- private String accountID;
- private String accountname;
- private String operatedate;
- private int operatetype;
- private String accountpassword;
- private int accountbalance;
- private int amount;
- public Account() {
- }
- public Account(String IDcard, String Name, String Adress, String password,
- int balance) {
- this.accountID = accountID;
- this.accountname = accountname;
- this.operatedate = operatedate;
- this.operatetype=operatetype;
- this.accountpassword = accountpassword;
- this.accountbalance = accountbalance;
- }
- public void setaccountname(String acccountname) {
- this.accountname = accountname;
- }
- public void setsetaccountID() {
- this.accountID = accountID;
- }
- public void setoperatedate(String operatedate) {
- this.operatedate = operatedate;
- }
- public void setoperatetype(int operatetype) {
- this.operatetype =operatetype;
- }
- public void setaccountpassword(String accountpassword) {
- this.accountpassword = accountpassword;
- }
- public void setaccountbalance(int accountbalance) {
- this.accountbalance = accountbalance;
- }
- public void setamount(int amount) {
- this.amount = amount;
- }
- public String getaccountID() {
- return accountID;
- }
- public String getaccountname() {
- return accountname;
- }
- public String getoperatedate() {
- return operatedate;
- }
- public int getoperatetype() {
- return operatetype;
- }
- public String getaccountpassword() {
- return accountpassword;
- }
- public int getaccountbalance() {
- return accountbalance;
- }
- public int getamount() {
- return amount;
- }
- public void setAccount() {
- // TODO Auto-generated method stub
- }
- }
- package moniATM;
- import java.io.FileWriter;
- import java.io.PrintWriter;
- import java.io.UnsupportedEncodingException;
- import java.io.UnsupportedEncondingException;
- import java.util.Scanner;
- import com.sun.codemodel.internal.writer.FileCodeWriter;
- public class AccountManager
- {
- public Object accountID;
- public Object accountpassword;
- public class Main
- {
- private static final String NULL = null;
- private Object system;
- public void main(String[] args) throws UnsupportedEncodingException {
- char choise;
- int i = 0;
- boolean flag;//判断标识
- Scanner sc = new Scanner(System.in);
- Account[] array = new Account[100];
- public void setList(int i,ArrayList<Account> ac)
- {
- try
- {
- Account a=ac.get(i);
- }
- catch(Exception e)
- {
- System.out.println("文件写入失败");
- }
- }
- for (int n = 0; n < 100; n++) {
- array[n] = new Account("asd", "asd", "asd", "asd", 1);
- }
- do {
- System.out.println("|**********************************************|");
- System.out.println("| 欢迎使用中国工商银 |");
- System.out.println("|**********************************************|");
- System.out.println("| 请输入您的账号 |");
- System.out.println("|**********************************************|");
- System.out.println("");
- boolean isNULL;
- if(isNULL)
- {
- System.out.println("|**********************************************|");
- System.out.println("| 该卡不是工商卡 |");
- System.out.println("|**********************************************|");
- }
- else {
- System.out.println("********************************************");
- System.out.println(" 欢迎使用中国工商银行自助柜员系统 ");
- System.out.println("********************************************");
- System.out.println(" 请输入您的密码 ");
- System.out.println("********************************************");
- }
- public void setInformation(ArrayList<Account> ac)//写入信息
- {
- try
- {
- int i=0;
- FileWriter fw=new FileWriter("AccountInformation");
- PrintWriter pw=new PrintWriter(fw);
- for(i=0;i<ac.size();i++)
- {
- pw.println(((Object) ac.get(i)).getAccountID()+" "+((Object) ac.get(i)).getAccontpassword()+" "+ ac.get(i).getAccountname()+" "+ac.get(i).getAccountbalance());
- }
- pw.flush();
- pw.close();
- fw.close();
- }
- {
- System.out.println("|**********************************************|");
- System.out.println("| 密码输入错误,请重新输入 |");
- System.out.println("|**********************************************|");
- counter++;
- }while(counter<3);
- Lock_Sys();
- if(isRight(accountID,accountpassword))
- {
- 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("|**********************************************|");
- }
- switch (choise) {
- case '1':
- System.out.println("|**********************************************|");
- System.out.println("| 欢迎使用中国工商银行自助柜员系统 |");
- System.out.println("| 请输入存款金额 |");
- System.out.println("|**********************************************|");
- if(isNULL)
- {
- System.out.println("|**********************************************|");
- System.out.println("| 输入金额有误,返回取款页面 |");
- }
- else
- {
- System.out.println("|**********************************************|");
- System.out.println("| 欢迎使用中国工商银行自助柜员系统 |");
- System.out.println("|**********************************************|");
- System.out.println("| 存款成功 现金额为 |");
- };
- case '2':{
- int amount;
- System.out.println("|**********************************************|");
- System.out.println("| 欢迎使用中国工商银行自助柜员系统 |");
- System.out.println("|**********************************************|");
- System.out.println("| 当前账户每日可支取2万元 |");
- System.out.println("| 1.100元 |");
- System.out.println("| 2.200元 |");
- System.out.println("| 3.500元 |");
- System.out.println("| 4.1000元 |");
- 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 t;
- t = sc.nextInt();
- switch (t) {
- case 1:amount = 100;break;
- case 2:amount = 200;break;
- case 3:amount = 500;break;
- case 4:amount = 1000;break;
- case 5:amount = 2000;break;
- case 6:amount = 5000;break;
- }
- if(amount>array[0].getaccountbalance())
- System.out.println("余额不足");
- }
- case '3':
- System.out.println("|**********************************************|");
- System.out.println("| 欢迎使用中国工商银行自助柜员系统 |");
- System.out.println("|**********************************************|");
- System.out.println("| 请输入转账金额 |");
- System.out.println("|**********************************************|");
- array[0].setamount(sc.nextInt());
- Account a=new Account();
- Account b=new Account();
- Scanner input=new Scanner(System.in);
- String z="",x="";
- int t=0,m=0,f1=0;
- while(f1==0)
- {
- face(i,6,ac);
- z=input.next();
- if((t=id(z,ac))>=0)//判断
- {
- try
- {
- face(i,7,ac);
- m=input.nextInt();
- if(m<=0)throw new Exception();
- }
- catch(Exception e)
- {
- face(i,13,ac);
- f1=1;
- continue;
- }
- if(f1==0)//输入正确 开始转账
- {
- a=ac.get(i);
- b=ac.get(t);
- a.setAmount(-m);
- b.setAmount(m);
- ac.set(i, a);
- face(i,t,1,ac);
- x=input.next();
- if(x.equals("Y")==true)
- {
- a.setOperatedate();
- a.setOperatetype(3);
- b.setOperatedate();
- b.setOperatetype(3);
- if(ac.get(i).getAccountbalance()>=m)
- {
- a.setAccountbalance(a.getAccountbalance()-m);
- ac.set(i, a);
- setList(i, ac);
- b.setAccountbalance(b.getAccountbalance()+m);
- ac.set(t, b);
- setList(t, ac);
- setInformation(ac);
- face(i,t,2,ac);
- break;
- }
- else
- {
- face(i,19,ac);
- break;
- }
- }
- else if(x.equals("N")==true)
- {
- break;
- }
- else
- {
- face(i,20,ac);
- }
- }
- }
- }
- }
- case '4':
- System.out.println("|**********************************************|");
- System.out.println("| 欢迎使用中国工商银行自助柜员系统 |");
- System.out.println("|**********************************************|");
- System.out.println("| 请输入当前密码 |");
- System.out.println("| 请输入修改密码 |");
- System.out.println("| 请输入确认密码 |");
- public int id(String accountID,ArrayList<Account> ac)
- {
- int i=0,t=0;
- if(accountID.length()!=8)
- {
- return -2;
- }
- for(t=0;t<accountID.length();t++)
- {
- if(accountID.charAt(t)<'0'||accountID.charAt(t)>'9')
- {
- return -2;
- }
- }
- for(i=0;i<ac.size();i++)
- {
- if(ac.get(i).getAccountID().equals(accountID)==true)
- {
- return i;
- }
- }
- return -1;
- }
- case '5':
- System.out.println("|**********************************************|");
- System.out.println("| 欢迎使用中国工商银行自助柜员系统 |");
- System.out.println("|**********************************************|");
- System.out.println("| 当前账户余额为: "+array[0].getaccountbalance()+" 元 |");
- System.out.println("| 账户清单信息为 |");
- System.out.println("| 1.操作日期 操作类型 操作金额 |");
- public int login(int i,String accountpassword,ArrayList<Account> ac)
- {
- int t=0;
- if(accountpassword.length()!=6)
- {
- return -1;
- }
- for(t=0;t<accountpassword.length();t++)
- {
- if(accountpassword.charAt(t)<'0'||accountpassword.charAt(t)>'9')
- {
- return -1;
- }
- }
- if(ac.get(i).getAccontpassword().equals(accountpassword)==true)
- {
- return 1;
- }
- else
- {
- return -1;
- }
- }
Java第一次考试作业的更多相关文章
- java第一次考试
这是我们开学的第一次Java课的考试,考的我有点害怕. 老师说这是给我们在正式上课之前提个醒,确实,我明白了我在学习方面还有多大的差距,确实,就如我高中同学所说的那样,没事就应该往机房跑了. 在上个学 ...
- Java第一次代码作业汇总
练习题1:(完数问题) 求100以内的所有完数.(完数:它所有因子之和等于其本身) 方法一: /* 解体思路:1.先找出每个数的所有因子 2.比较因子之和是否与其数本身相等 */ public c ...
- 第一次JAVA基础考试后的反思
今天进行了第一次JAVA基础考试,考查了课本上前面三章和方法的知识,基本没有涉及到数组.通过这次的考试,暴露了自己在学习中的很多问题. 机试题是编写一个学员状态转换器,主要运用的是选择语句和方法,而没 ...
- java第一次作业0
lsl321 java第一次作业 #1. 本章学习总结 你对于本章知识的学习总结 本章我们学习了各种java相关文件的使用,以及码云,博客,pat等程序辅助软件,这些对于我们专业的学习有非常大的帮助, ...
- Java 第一次课堂测验
周一下午进行了开学来java第一次课堂测验,在课堂上我只完成了其中一部分,现代码修改如下: 先定义 ScoreInformation 类记录学生信息: /** * 信1805-1 * 胡一鸣 * 20 ...
- Java 第一次课堂测试总结。
Java 第一次课堂测试总结. 昨天参加了JAVA的开学测试,课上没有完成计算基点的功能,以下是修改完成后的代码. 首先是ScoreInformation类来存储学生信息. //信1805-1 王正 ...
- JAVA第一次blog总结
JAVA第一次blog总结 0.前言 大一下学期我们开展了OPP这门课程,这也是我们第一次接触到JAVA.与上学期我们在学校里学C语言不同的是,这学期由于疫情原因我们是以网课的方式在学习.在学习中我发 ...
- JAVA第二次作业展示与学习心得
JAVA第二次作业展示与学习心得 在这一次作业中,我学习了复选框,密码框两种新的组件,并通过一个邮箱登录界面将两种组件运用了起来.具体的使用方法和其他得组件并没有什么大的不同. 另外我通过查阅资料使用 ...
- C++ 第一次上机作业
今天完成了C++第一次上机作业,感觉比较简单. 题目: 求2个数或3个正整数中的最大数,用带有默认参数的函数实现. 对3个变量按由小到大顺序排序,要求使用变量的引用. 编写一个程序,用同一个函数名对几 ...
随机推荐
- [No000010B]Git4/9-时光机穿梭
我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version c ...
- 一个列转行SQL示例(wm_concat函数和replace函数合用)
准备测试数据: create table test01( groupid number, a number, b number, c ...
- 部署Java项目到阿里云服务器主机
https://m.aliyun.com/jiaocheng/548684.html https://blog.csdn.net/qq_30865575/article/details/7827329 ...
- composer命令详解
composer命令行 你已经学会了如何使用命令行界面做一些事情.本章将向你介绍所有可用的命令. 为了从命令行获得帮助信息,请运行composer或者composer list 命令,然后结合--he ...
- Java中抽象类和抽象方法的区别
抽象方法:在类中没有方法体的方法,就是抽象方法. 抽象类:含有抽象方法的类就叫抽象类. 抽象类中的抽象方法必须被实现! 如果一个子类没有实现父类中的抽象方法,则子类也成为了一个抽象类! 抽象类中的普通 ...
- [redhat][centos] 让不同小版本的CentOS7使用相同的内核版本
背景: CentOS7有定期的小版本发布,即官网释出的ISO,是带着小版本号的.CentOS7可以使用平滑升级,从这些小版本号中升上去. 但是并不是每一次的更新,都在释出的ISO中,这样的话,一台既有 ...
- 下载JDK和Jmeter并设置系统环境变量
一.JDK下载并设置系统环境变量 1.JDK官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 点左边的 ...
- LeetCode 937 Reorder Log Files 解题报告
题目要求 You have an array of logs. Each log is a space delimited string of words. For each log, the fi ...
- Matlab 快捷键 命令
1. 在命令窗口(Command Window)中: 1) [上.下键]――切换到之前.之后的命令,可以重复按多次来达到你想要的命令 2) clc――清除命令窗口显示的语句,此命令并不清空当前工作区的 ...
- sqlite数据导入mysql
sqlite导出数据 1.首先将sqlite数据库中的数据库格式由db或者db3等转为.sql格式,方法如下: 首先是不修改路径的情况下,在命令行下(方法一): sqlite3 database_na ...