这次考试感觉自己充分的意识到自己的不足,对于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第一次考试作业的更多相关文章

  1. java第一次考试

    这是我们开学的第一次Java课的考试,考的我有点害怕. 老师说这是给我们在正式上课之前提个醒,确实,我明白了我在学习方面还有多大的差距,确实,就如我高中同学所说的那样,没事就应该往机房跑了. 在上个学 ...

  2. Java第一次代码作业汇总

    练习题1:(完数问题) 求100以内的所有完数.(完数:它所有因子之和等于其本身)   方法一: /* 解体思路:1.先找出每个数的所有因子 2.比较因子之和是否与其数本身相等 */ public c ...

  3. 第一次JAVA基础考试后的反思

    今天进行了第一次JAVA基础考试,考查了课本上前面三章和方法的知识,基本没有涉及到数组.通过这次的考试,暴露了自己在学习中的很多问题. 机试题是编写一个学员状态转换器,主要运用的是选择语句和方法,而没 ...

  4. java第一次作业0

    lsl321 java第一次作业 #1. 本章学习总结 你对于本章知识的学习总结 本章我们学习了各种java相关文件的使用,以及码云,博客,pat等程序辅助软件,这些对于我们专业的学习有非常大的帮助, ...

  5. Java 第一次课堂测验

    周一下午进行了开学来java第一次课堂测验,在课堂上我只完成了其中一部分,现代码修改如下: 先定义 ScoreInformation 类记录学生信息: /** * 信1805-1 * 胡一鸣 * 20 ...

  6. Java 第一次课堂测试总结。

    Java 第一次课堂测试总结. 昨天参加了JAVA的开学测试,课上没有完成计算基点的功能,以下是修改完成后的代码.  首先是ScoreInformation类来存储学生信息. //信1805-1 王正 ...

  7. JAVA第一次blog总结

    JAVA第一次blog总结 0.前言 大一下学期我们开展了OPP这门课程,这也是我们第一次接触到JAVA.与上学期我们在学校里学C语言不同的是,这学期由于疫情原因我们是以网课的方式在学习.在学习中我发 ...

  8. JAVA第二次作业展示与学习心得

    JAVA第二次作业展示与学习心得 在这一次作业中,我学习了复选框,密码框两种新的组件,并通过一个邮箱登录界面将两种组件运用了起来.具体的使用方法和其他得组件并没有什么大的不同. 另外我通过查阅资料使用 ...

  9. C++ 第一次上机作业

    今天完成了C++第一次上机作业,感觉比较简单. 题目: 求2个数或3个正整数中的最大数,用带有默认参数的函数实现. 对3个变量按由小到大顺序排序,要求使用变量的引用. 编写一个程序,用同一个函数名对几 ...

随机推荐

  1. [No000013A]Windows WMIC命令使用详解(附实例)

    第一次执行WMIC命令时,Windows首先要安装WMIC,然后显示出WMIC的命令行提示符.在WMIC命令行提示符上,命令以交互的方式执行 执行“wmic”命令启动WMIC命令行环境.这个命令可以在 ...

  2. 1 byte 8 bit 1 sh 1 bit 2. 字符与编码在程序中的实现

    https://en.wikipedia.org/wiki/Shannon_(unit) 1字节(英语:Byte)=8比特(英语:bit) The shannon (symbol Sh), also ...

  3. H2O 笔记之安装

    参考资料: 了解H2O:http://h2o-release.s3.amazonaws.com/h2o/rel-turchin/9/docs-website/h2o-docs/index.html 安 ...

  4. 实践-通过matlab操作sqlite数据库

    1.下载sqlite-jdbc连接数据库地址 https://bitbucket.org/xerial/sqlite-jdbc/downloads/ 2.将该jar包的绝对路径写入matlab的cla ...

  5. LeetCode-860. Lemonade Change

    At a lemonade stand, each lemonade costs $5. Customers are standing in a queue to buy from you, and ...

  6. python的队列和栈

    (一)队列和栈的区别 1.队列: 队列是一种特殊的线性表.其两头都有限制,插入只能在表的一端进行(只进不出),而删除只能在表的另一端进行(只出不进),允许删除的一端称为队尾(rear),允许插入的一端 ...

  7. MySQL准入规范及容量评估

    一.数据库设计 1.表结构设计 -表中的自增列(auto_increment属性)推荐使用bigint类型 -首选使用非空的唯一键, 其次选择自增列或发号器 不使用更新频繁的列,尽量不选择字符串列,不 ...

  8. python实现根据当前时间创建目录并输出日志

    举个例子:比如我们要实现根据当前时间的年月日来新建目录来存放每天的日志,当前时间作为日志文件名称:代码如下: #!/usr/bin/env python3 # _*_ coding: utf-8 _* ...

  9. 008-docker-安装-tomcat:8.5.38-jre8

    1.搜索镜像 docker search tomcat 2.拉取合适镜像 查询tags:https://hub.docker.com/ docker pull tomcat:8.5.38-jre8 d ...

  10. PHP中MySQL、MySQLi和PDO的用法和区别

    PHP的MySQL扩展(优缺点) 设计开发允许PHP应用与MySQL数据库交互的早期扩展.mysql扩展提供了一个面向过程 的接口: 并且是针对MySQL4.1.3或更早版本设计的.因此,这个扩展虽然 ...