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个变量按由小到大顺序排序,要求使用变量的引用. 编写一个程序,用同一个函数名对几 ...
随机推荐
- Codeforces 191A - Dynasty Puzzles - [DP]
题目链接:https://codeforces.com/problemset/problem/191/A 题意: 给出 $n$ 个小写字母组成的字符串,两个字符串如果前者的最后一个字母与后者的首字母相 ...
- [No0000156]天干地支-狗年我懂,戊戌二字怎么来的?
话说,这几年的年份,总能让人联想到历史课本.比如,2014年是甲午马年,是中日甲午战争120周年.而2018年是戊戌狗年,嗯,戊戌变法也过去120年了…… 狗年相信大家都了解,小观前面两期关于反犬旁和 ...
- 解决sudo: npm: command not found
sudo ln -s /opt/node-v11.4.0/bin/npm /usr/bin/npm sudo ln -s /opt/node-v11.4.0/bin/node /usr/bin/nod ...
- windows SysinternalsSuite
procdump -ma -i c\dumps 捕获系统所有程序的崩溃 SysinternalsSuite autoruns是个什么鬼
- 新装的Delphi XE10 空白的安卓程序编译报错 F1027 Unit not found: 'System.pas'
没有安装 安卓的lib 和 PlatformSDKs 把相关压缩包解压缩后,将对应文件夹android放在lib下面 , PlatformSDKs放在D:\Program Files (x86)\Em ...
- 第一章 初识windows程序
window 操作系统中,处处是窗体 简单 强大 方便 灵活 步骤 新建项目 项目类型 visual C#项目 模板 window应用程序 用partial 将同一个窗体的代码分开放在两个文件中: 一 ...
- 1-AO3402MOS管使用
1.做电源设计,或者做驱动方面的电路,难免要用到MOS管.MOS管有很多种类,也有很多作用.做电源或者驱动的使用,当然就是用它的开关作用. 2.MOS管的三个极,G.S.D分别代表是什么? (1).判 ...
- 利用session防止表单重复提交
转自:http://www.cnblogs.com/xdp-gacl/p/3859416.html 利用Session防止表单重复提交 对于[场景二]和[场景三]导致表单重复提交的问题,既然客户端无法 ...
- webmin改https访问
直接用yum安装: yum -y install openssl perl perl-Net-SSLeay perl-IO-Tty perl-Crypt-SSLeay 测试perl模块是是否安装成功, ...
- python基于django编写api+前端后端分离
有用 https://segmentfault.com/a/1190000016049962#articleHeader2 python的前后端分离(一):django+原生js实现get请求 htt ...