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个变量按由小到大顺序排序,要求使用变量的引用. 编写一个程序,用同一个函数名对几 ...
随机推荐
- Elasticsearch全文检索实战小结
一.项目概述 这是一个被我称之为“没有枪.没有炮,硬着头皮自己造”的项目.项目是和其它公司合作的三个核心模块开发. 使用ES的目的是: 1).采集数据.网站数据清洗后存入ES: 2).对外提供精确检索 ...
- Linux下稀疏文件的存储方式
写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...
- wpf(dispather调度者)
一.首先为什么要有dispather? wpf程序是有一个主线程多个子线程组成的.主线程负责创建ui界面,数据接收,处理事件,子线程负责处理消耗资源较多耗时的操作.然而子线程不能直接访问主线程那么这个 ...
- java 集合(一)ArrayList的继承树
这是ArrayList的继承树,它继承了AbstractCollection抽象类,AbstractCollection类实现了Collection接口,Collection接口继承Iterable接 ...
- JavaScript 学习笔记-HTML&&DOM
HTML DOM (文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. JavaScript 能够 ...
- es6原型的继承
class Parent { name = 'liangcheng'; } const parent = new Parent(); console.log(parent); // 类继承某实例对象属 ...
- SHOW STATUS 查看各种类型SQL执行的频率
通过 SHOW STATUS 可以提供服务器状态信息,也可以使用 mysqladmin extendedstatus 命令获得.SHOW STATUS 可以根据需要显示 session 级别的统计结果 ...
- 数据库文件MDF的空间占满了,没有自动增长是怎么回事?
前提: (1)磁盘C盘.数据文件所在盘均有空间 (2)没有对数据文件设置maxSize (3)做过数据库服务器重启,仍没有效果 (4)但是同一个实例上的其他数据库没问题 (5)配额也查了,没问题 ...
- Caffe上用SSD训练和测试自己的数据
学习caffe第一天,用SSD上上手. 我的根目录$caffe_root为/home/gpu/ljy/caffe 一.运行SSD示例代码 1.到https://github.com ...
- 前端框架之Vue(8)-表单输入绑定
基础用法 你可以用 v-model 指令在表单 <input> . <textarea> 及 <select> 元素上创建双向数据绑定.它会根据控件类型自动选取正确 ...