这次考试感觉自己充分的意识到自己的不足,对于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中判断所输入数据是否为正整数,感觉自己假期的学习还是很的不足,差了很多,深刻的认识到了自己的不足,也打算在接下来的时间里好好学习代码,就像建民欧巴说的这次的成绩并不是很重要,重要的是通过这次自己学到了什么,认识到自己有哪些不足,并从这次的错误中看到自己的不足,并学会他,搞定他,最终能够成功的运用它,毕竟自己脑袋里的东西最重要,熟练应用自己的知识也很重要,我觉得通过这次自己也真的意识到到底差在哪里和别人的差距在哪里,自己又有哪些不足的,最后,既然自己选择了这个专业,那就一定要对的起自己的选择,也相信自己会在这半年的学习中让自己更加的优秀

  1. package moniATM;
  2. import java.io.UnsupportedEncodingException;
  3. import java.io.UnsupportedEncondingException;
  4. import java.nio.charset.Charset;
  5. import java.util.scanner;
  6. public class Account
  7. {
  8. private String accountID;
  9. private String accountname;
  10. private String operatedate;
  11. private int operatetype;
  12. private String accountpassword;
  13. private int accountbalance;
  14. private int amount;
  15. public Account() {
  16. }
  17.  
  18. public Account(String IDcard, String Name, String Adress, String password,
  19. int balance) {
  20. this.accountID = accountID;
  21. this.accountname = accountname;
  22. this.operatedate = operatedate;
  23. this.operatetype=operatetype;
  24. this.accountpassword = accountpassword;
  25. this.accountbalance = accountbalance;
  26. }
  27.  
  28. public void setaccountname(String acccountname) {
  29. this.accountname = accountname;
  30. }
  31.  
  32. public void setsetaccountID() {
  33. this.accountID = accountID;
  34. }
  35.  
  36. public void setoperatedate(String operatedate) {
  37. this.operatedate = operatedate;
  38. }
  39.  
  40. public void setoperatetype(int operatetype) {
  41. this.operatetype =operatetype;
  42. }
  43.  
  44. public void setaccountpassword(String accountpassword) {
  45. this.accountpassword = accountpassword;
  46. }
  47.  
  48. public void setaccountbalance(int accountbalance) {
  49. this.accountbalance = accountbalance;
  50. }
  51.  
  52. public void setamount(int amount) {
  53. this.amount = amount;
  54. }
  55.  
  56. public String getaccountID() {
  57. return accountID;
  58. }
  59.  
  60. public String getaccountname() {
  61. return accountname;
  62. }
  63.  
  64. public String getoperatedate() {
  65. return operatedate;
  66. }
  67.  
  68. public int getoperatetype() {
  69. return operatetype;
  70. }
  71.  
  72. public String getaccountpassword() {
  73. return accountpassword;
  74. }
  75.  
  76. public int getaccountbalance() {
  77. return accountbalance;
  78. }
  79.  
  80. public int getamount() {
  81. return amount;
  82. }
  83.  
  84. public void setAccount() {
  85. // TODO Auto-generated method stub
  86.  
  87. }
  88. }
  1. package moniATM;
  2.  
  3. import java.io.FileWriter;
  4. import java.io.PrintWriter;
  5. import java.io.UnsupportedEncodingException;
  6. import java.io.UnsupportedEncondingException;
  7. import java.util.Scanner;
  8.  
  9. import com.sun.codemodel.internal.writer.FileCodeWriter;
  10.  
  11. public class AccountManager
  12. {
  13. public Object accountID;
  14. public Object accountpassword;
  15.  
  16. public class Main
  17. {
  18. private static final String NULL = null;
  19. private Object system;
  20. public void main(String[] args) throws UnsupportedEncodingException {
  21. char choise;
  22. int i = 0;
  23. boolean flag;//判断标识
  24. Scanner sc = new Scanner(System.in);
  25. Account[] array = new Account[100];
  26. public void setList(int i,ArrayList<Account> ac)
  27. {
  28. try
  29. {
  30. Account a=ac.get(i);
  31.  
  32. }
  33. catch(Exception e)
  34. {
  35. System.out.println("文件写入失败");
  36. }
  37. }
  38. for (int n = 0; n < 100; n++) {
  39. array[n] = new Account("asd", "asd", "asd", "asd", 1);
  40. }
  41. do {
  42. System.out.println("|**********************************************|");
  43. System.out.println("| 欢迎使用中国工商银 |");
  44. System.out.println("|**********************************************|");
  45. System.out.println("| 请输入您的账号 |");
  46. System.out.println("|**********************************************|");
  47. System.out.println("");
  48. boolean isNULL;
  49. if(isNULL)
  50. {
  51. System.out.println("|**********************************************|");
  52. System.out.println("| 该卡不是工商卡 |");
  53. System.out.println("|**********************************************|");
  54. }
  55. else {
  56. System.out.println("********************************************");
  57. System.out.println(" 欢迎使用中国工商银行自助柜员系统 ");
  58. System.out.println("********************************************");
  59. System.out.println(" 请输入您的密码 ");
  60. System.out.println("********************************************");
  61. }
  62. public void setInformation(ArrayList<Account> ac)//写入信息
  63. {
  64. try
  65. {
  66. int i=0;
  67. FileWriter fw=new FileWriter("AccountInformation");
  68. PrintWriter pw=new PrintWriter(fw);
  69. for(i=0;i<ac.size();i++)
  70. {
  71.  
  72. pw.println(((Object) ac.get(i)).getAccountID()+" "+((Object) ac.get(i)).getAccontpassword()+" "+ ac.get(i).getAccountname()+" "+ac.get(i).getAccountbalance());
  73. }
  74. pw.flush();
  75. pw.close();
  76. fw.close();
  77. }
  78.  
  79. {
  80. System.out.println("|**********************************************|");
  81. System.out.println("| 密码输入错误,请重新输入 |");
  82. System.out.println("|**********************************************|");
  83. counter++;
  84. }while(counter<3);
  85. Lock_Sys();
  86.  
  87. if(isRight(accountID,accountpassword))
  88. {
  89. System.out.println("|**********************************************|");
  90. System.out.println("| 1.存款; |");
  91. System.out.println("| 2.取款; |");
  92. System.out.println("| 3.转账汇款: |");
  93. System.out.println("| 4.修改密码 |");
  94. System.out.println("| 5.查询 余额 |");
  95. System.out.println("|**********************************************|");
  96. }
  97.  
  98. switch (choise) {
  99. case '1':
  100. System.out.println("|**********************************************|");
  101. System.out.println("| 欢迎使用中国工商银行自助柜员系统 |");
  102. System.out.println("| 请输入存款金额 |");
  103. System.out.println("|**********************************************|");
  104. if(isNULL)
  105. {
  106. System.out.println("|**********************************************|");
  107. System.out.println("| 输入金额有误,返回取款页面 |");
  108. }
  109. else
  110. {
  111. System.out.println("|**********************************************|");
  112. System.out.println("| 欢迎使用中国工商银行自助柜员系统 |");
  113. System.out.println("|**********************************************|");
  114. System.out.println("| 存款成功 现金额为 |");
  115. };
  116.  
  117. case '2':{
  118. int amount;
  119.  
  120. System.out.println("|**********************************************|");
  121. System.out.println("| 欢迎使用中国工商银行自助柜员系统 |");
  122. System.out.println("|**********************************************|");
  123. System.out.println("| 当前账户每日可支取2万元 |");
  124. System.out.println("| 1.100元 |");
  125. System.out.println("| 2.200元 |");
  126. System.out.println("| 3.500元 |");
  127. System.out.println("| 4.1000元 |");
  128. System.out.println("| 5.2000元 |");
  129. System.out.println("| 6.5000元 |");
  130. System.out.println("| 7.其他金额 |");
  131. System.out.println("| 8.退卡 |");
  132. System.out.println("| 9.退回 |");
  133. System.out.println("|**********************************************|");
  134. int t;
  135. t = sc.nextInt();
  136. switch (t) {
  137. case 1:amount = 100;break;
  138. case 2:amount = 200;break;
  139. case 3:amount = 500;break;
  140. case 4:amount = 1000;break;
  141. case 5:amount = 2000;break;
  142. case 6:amount = 5000;break;
  143.  
  144. }
  145. if(amount>array[0].getaccountbalance())
  146. System.out.println("余额不足");
  147.  
  148. }
  149.  
  150. case '3':
  151. System.out.println("|**********************************************|");
  152. System.out.println("| 欢迎使用中国工商银行自助柜员系统 |");
  153. System.out.println("|**********************************************|");
  154. System.out.println("| 请输入转账金额 |");
  155. System.out.println("|**********************************************|");
  156. array[0].setamount(sc.nextInt());
  157. Account a=new Account();
  158. Account b=new Account();
  159. Scanner input=new Scanner(System.in);
  160. String z="",x="";
  161. int t=0,m=0,f1=0;
  162. while(f1==0)
  163. {
  164. face(i,6,ac);
  165. z=input.next();
  166. if((t=id(z,ac))>=0)//判断
  167. {
  168. try
  169. {
  170. face(i,7,ac);
  171. m=input.nextInt();
  172. if(m<=0)throw new Exception();
  173. }
  174. catch(Exception e)
  175. {
  176. face(i,13,ac);
  177. f1=1;
  178. continue;
  179. }
  180.  
  181. if(f1==0)//输入正确 开始转账
  182. {
  183. a=ac.get(i);
  184. b=ac.get(t);
  185. a.setAmount(-m);
  186. b.setAmount(m);
  187. ac.set(i, a);
  188. face(i,t,1,ac);
  189. x=input.next();
  190. if(x.equals("Y")==true)
  191. {
  192. a.setOperatedate();
  193. a.setOperatetype(3);
  194. b.setOperatedate();
  195. b.setOperatetype(3);
  196. if(ac.get(i).getAccountbalance()>=m)
  197. {
  198. a.setAccountbalance(a.getAccountbalance()-m);
  199. ac.set(i, a);
  200. setList(i, ac);
  201. b.setAccountbalance(b.getAccountbalance()+m);
  202. ac.set(t, b);
  203. setList(t, ac);
  204. setInformation(ac);
  205. face(i,t,2,ac);
  206. break;
  207. }
  208. else
  209. {
  210. face(i,19,ac);
  211. break;
  212. }
  213.  
  214. }
  215. else if(x.equals("N")==true)
  216. {
  217. break;
  218. }
  219. else
  220. {
  221. face(i,20,ac);
  222. }
  223.  
  224. }
  225. }
  226. }
  227. }
  228.  
  229. case '4':
  230. System.out.println("|**********************************************|");
  231. System.out.println("| 欢迎使用中国工商银行自助柜员系统 |");
  232. System.out.println("|**********************************************|");
  233. System.out.println("| 请输入当前密码 |");
  234. System.out.println("| 请输入修改密码 |");
  235. System.out.println("| 请输入确认密码 |");
  236. public int id(String accountID,ArrayList<Account> ac)
  237. {
  238. int i=0,t=0;
  239. if(accountID.length()!=8)
  240. {
  241. return -2;
  242. }
  243. for(t=0;t<accountID.length();t++)
  244. {
  245. if(accountID.charAt(t)<'0'||accountID.charAt(t)>'9')
  246. {
  247. return -2;
  248. }
  249. }
  250. for(i=0;i<ac.size();i++)
  251. {  
  252. if(ac.get(i).getAccountID().equals(accountID)==true)
  253. {
  254. return i;
  255. }
  256. }
  257. return -1;
  258. }
  259.  
  260. case '5':
  261. System.out.println("|**********************************************|");
  262. System.out.println("| 欢迎使用中国工商银行自助柜员系统 |");
  263. System.out.println("|**********************************************|");
  264. System.out.println("| 当前账户余额为: "+array[0].getaccountbalance()+" 元 |");
  265. System.out.println("| 账户清单信息为 |");
  266. System.out.println("| 1.操作日期 操作类型 操作金额 |");
  267.  
  268. public int login(int i,String accountpassword,ArrayList<Account> ac)
  269. {
  270. int t=0;
  271. if(accountpassword.length()!=6)
  272. {
  273. return -1;
  274. }
  275. for(t=0;t<accountpassword.length();t++)
  276. {
  277. if(accountpassword.charAt(t)<'0'||accountpassword.charAt(t)>'9')
  278. {
  279. return -1;
  280. }
  281. }
  282. if(ac.get(i).getAccontpassword().equals(accountpassword)==true)
  283. {
  284. return 1;
  285. }
  286. else
  287. {
  288. return -1;
  289. }
  290.  
  291. }

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. [No000016F]高并发下线程安全的单例模式(最全最经典)

    在所有的设计模式中,单例模式是我们在项目开发中最为常见的设计模式之一,而单例模式有很多种实现方式,你是否都了解呢?高并发下如何保证单例模式的线程安全性呢?如何保证序列化后的单例对象在反序列化后任然是单 ...

  2. DBCHART

    dbchart1.Series[0].DataSource := adoquery1; dbchart1.Series[0].XLabelsSource := 'aaaa'; dbchart1.Ser ...

  3. SQL union介绍

    UNION 操作符用于合并两个或多个 SELECT 语句的结果集 UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必须 ...

  4. Java之旅_面向对象_接口

    参考摘自:http://www.runoob.com/java/java-interfaces.html 接口(interface)在Java中是一个抽象类型,是抽象方法的集合. 一个类通过imple ...

  5. linux常用查看文件或日志命令

    常见查看文件内容命令汇总如下: cat     filename           查看日志,会打开整个文件,直接跑到最后面 tac     filename           查看日志,会打开整 ...

  6. fiddler抓包常用功能详解

    一.基础部分: 1.设置代理ip及端口,tools --> telerik fiddler options --> connections -->勾选 “ Allow romote ...

  7. java JDBC (二) 防止注入/参数化

    package cn.sasa.demo2; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Pr ...

  8. 【Python爬虫】正则表达式与re模块

    正则表达式与re模块 阅读目录 在线正则表达式测试 常见匹配模式 re.match re.search re.findall re.compile 实战练习 在线正则表达式测试 http://tool ...

  9. 【PyQt5-Qt Designer】QDoubleSpinBox-小数微调框

    QDoubleSpinBox-小数微调框 总体说明 大部分的总体说明和QSpinBox的差不多(详见:<PyQt5:微调框1>),这里主要把有差别的地方谈一下(三点). QDoubleSp ...

  10. 天梯赛训练2 7-8 矩阵A乘以B

    知道矩阵A*B的规则按照规则来做就好了 #include <bits/stdc++.h>#include <stdio.h>using namespace std;int a[ ...