Java测试报告
测试题目:ATM机
程序说明:本程序中共包含了两个类,分别为Account类和AccountManager类
Account类代码:
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 void setaccountID(String accountID) {
this.accountID=accountID;
}
public String getaccountID() {
return accountID;
}
public void setaccountname(String accountname) {
this.accountname=accountname;
}
public String getaccountname() {
return accountname;
}
public void setoperatedate(String operatedate) {
this.operatedate=operatedate;
}
public String getoperatedate() {
return operatedate;
}
public void setoperatetype(int operatetype) {
this.operatetype=operatetype;
}
public int getoperatetype() {
return operatetype;
}
public void setaccountpassword(String accountpassword) {
this.accountpassword=accountpassword;
}
public String getaccountpassword() {
return accountpassword;
}
public void setaccountbalance(int accountbalance) {
this.accountbalance=accountbalance;
}
public int getaccountbalance() {
return accountbalance;
}
public void setamount(int setamount) {
this.amount=amount;
}
public int getamount() {
return amount;
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
}
}
AccountManager类代码:
import java.util.ArrayList;
import java.util.Scanner;
public class AccountManager {//信1905-2-20193955-章英杰
public void menu(ArrayList<Account> list) {
String accountID;
String accountpassword;
Account user=new Account();
int i,j=0,k=0,x=0;
System.out.println("*****************************************************");
System.out.println(" 欢迎使用中国工商银行自动柜员系统");
System.out.println("**********************请输入您的账号:****************");
System.out.println("*****************************************************");
Scanner sc=new Scanner(System.in);
accountID=sc.next();
int length=accountID.length();
System.out.println(length);
if(length!=8) {
System.out.println("该卡不是工行卡");
}
else {
for(i=0;i<list.size();i++) {
user=list.get(i);
if(accountID.equals(user.getaccountID())) {
j=1;
System.out.println("账号正确,正在进入系统.......");
}
if(j==1)
break;
}
if(j==0) {
System.out.println("该用户不存在");
}
}
if(j==1) {
System.out.println("*****************************************************");
System.out.println(" 欢迎"+user.getaccountname()+"使用中国工商银行自助柜台系统");
System.out.println("**********************请输入您的密码:****************");
System.out.println("*****************************************************");
accountpassword=sc.next();
for(i=0;i<list.size();i++) {
user=list.get(i);
if(accountpassword.equals(user.getaccountpassword())) {
k=1;
System.out.println("密码正确,正在进入主界面.....");
}
if(k==1)
break;
}
/*if(k==0) {
System.out.println("密码错误,请您再次输入:");
accountpassword=sc.next();
for(i=0;i<list.size();i++) {
user=list.get(i);
if(accountpassword.equals(user.getaccountpassword())) {
k=1;
System.out.println("密码正确,正在进入主界面.....");
}
}
}*/
}
if(k==1) {
int choice;
int money,money1;
System.out.println("*****************************************************");
System.out.println(" 欢迎"+user.getaccountname()+"使用中国工商银行自助柜台系统");
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("*****************************************************");
System.out.println("请选择您要执行的操作:");
choice=sc.nextInt();
switch(choice) {
case 1:
System.out.println("*****************************************************");
System.out.println(" 欢迎"+user.getaccountname()+"使用中国工商银行自助柜台系统");
System.out.println("****************************************************");
System.out.println("请输入存款金额:");
System.out.println("****************************************************");
money=sc.nextInt();
money=money+user.getaccountbalance();
user.setaccountbalance(money);
System.out.println("*****************************************************");
System.out.println(" 欢迎"+user.getaccountname()+"使用中国工商银行自助柜台系统");
System.out.println("****************************************************");
System.out.println("当前用户存款操作成功。");
System.out.println("当前账户余额为:"+user.getaccountbalance());
System.out.println("****************************************************");
case 2:
System.out.println("*****************************************************");
System.out.println(" 欢迎"+user.getaccountname()+"使用中国工商银行自助柜台系统");
System.out.println("****************************************************");
System.out.println("当前账户每日可支取2万元,请选择取款金额:");
System.out.println("****************************************************");
System.out.println("1.100");
System.out.println("2.500");
System.out.println("3.1000");
System.out.println("4.1500");
System.out.println("5.2000");
System.out.println("6.5000");
System.out.println("7.其他金额");
System.out.println("8.退卡");
System.out.println("9.返回");
choice=sc.nextInt();
switch(choice) {
case 1:
if(user.getaccountbalance()<100) {
System.out.println("余额不足");
}
else {
money=user.getaccountbalance()-100;
user.setaccountbalance(money);
}
System.out.println("*****************************************************");
System.out.println(" 欢迎"+user.getaccountname()+"使用中国工商银行自助柜台系统");
System.out.println("****************************************************");
System.out.println("当前账户取款100元成功");
System.out.println("当前用户余额为:"+user.getaccountbalance());
System.out.println("****************************************************");
case 2:
if(user.getaccountbalance()<500) {
System.out.println("余额不足");
}
else {
money=user.getaccountbalance()-500;
user.setaccountbalance(money);
}
System.out.println("*****************************************************");
System.out.println(" 欢迎"+user.getaccountname()+"使用中国工商银行自助柜台系统");
System.out.println("****************************************************");
System.out.println("当前账户取款500元成功");
System.out.println("当前用户余额为:"+user.getaccountbalance());
System.out.println("****************************************************");
case 3:
if(user.getaccountbalance()<1000) {
System.out.println("余额不足");
}
else {
money=user.getaccountbalance()-1000;
user.setaccountbalance(money);
}
System.out.println("*****************************************************");
System.out.println(" 欢迎"+user.getaccountname()+"使用中国工商银行自助柜台系统");
System.out.println("****************************************************");
System.out.println("当前账户取款1000元成功");
System.out.println("当前用户余额为:"+user.getaccountbalance());
System.out.println("****************************************************");
case 4:
if(user.getaccountbalance()<1500) {
System.out.println("余额不足");
}
else {
money=user.getaccountbalance()-1500;
user.setaccountbalance(money);
}
System.out.println("*****************************************************");
System.out.println(" 欢迎"+user.getaccountname()+"使用中国工商银行自助柜台系统");
System.out.println("****************************************************");
System.out.println("当前账户取款1500元成功");
System.out.println("当前用户余额为:"+user.getaccountbalance());
System.out.println("****************************************************");
case 5:
if(user.getaccountbalance()<2000) {
System.out.println("余额不足");
}
else {
money=user.getaccountbalance()-2000;
user.setaccountbalance(money);
}
System.out.println("*****************************************************");
System.out.println(" 欢迎"+user.getaccountname()+"使用中国工商银行自助柜台系统");
System.out.println("****************************************************");
System.out.println("当前账户取款2000元成功");
System.out.println("当前用户余额为:"+user.getaccountbalance());
System.out.println("****************************************************");
case 6:
if(user.getaccountbalance()<5000) {
System.out.println("余额不足");
}
else {
money=user.getaccountbalance()-5000;
user.setaccountbalance(money);
}
System.out.println("*****************************************************");
System.out.println(" 欢迎"+user.getaccountname()+"使用中国工商银行自助柜台系统");
System.out.println("****************************************************");
System.out.println("当前账户取款5000元成功");
System.out.println("当前用户余额为:"+user.getaccountbalance());
System.out.println("****************************************************");
case 7:
System.out.println("*****************************************************");
System.out.println(" 欢迎"+user.getaccountname()+"使用中国工商银行自助柜台系统");
System.out.println("****************************************************");
System.out.println("请输入取款金额:");
System.out.println("****************************************************");
money1=sc.nextInt();
if(user.getaccountbalance()<money1) {
System.out.println("余额不足");
}
else {
money=user.getaccountbalance()-money1;
user.setaccountbalance(money);
}
System.out.println("*****************************************************");
System.out.println(" 欢迎"+user.getaccountname()+"使用中国工商银行自助柜台系统");
System.out.println("****************************************************");
System.out.println("当前账户取款"+user.getaccountbalance()+"元成功");
System.out.println("当前用户余额为:"+user.getaccountbalance());
System.out.println("****************************************************");
}
case 3:
System.out.println("*****************************************************");
System.out.println(" 欢迎"+user.getaccountname()+"使用中国工商银行自助柜台系统");
System.out.println("****************************************************");
System.out.println("请输入转账账户:");
System.out.println("****************************************************");
}
}
}
public static void main(String[] args) {
Scanner Sc = new Scanner(System.in);
int choice;
int quit = 1;
String c;
AccountManager temp = new AccountManager();
ArrayList<Account> array = new ArrayList<Account>();
String accountID;//用户账号
String accountname;//账户名
String operatedate;//操作时间
int operatetype;//储存操作用户类型
String accountpassword;//密码
int accountbalance;//余额
int amount;//流水金额
System.out.println("请创建5个账户信息:");
for(int i=0;i<5;i++)
{
Account user=new Account();
System.out.println("请输入第"+(i+1)+"名账户的账号:");
accountID=Sc.next();
user.setaccountID(accountID);
System.out.println("请输入第"+(i+1)+"名账户名:");
accountname=Sc.next();
user.setaccountname(accountname);
System.out.println("请输入第"+(i+1)+"名用户密码:");
accountpassword=Sc.next();
user.setaccountpassword(accountpassword);
System.out.println("请输入第"+(i+1)+"名用户余额:");
accountbalance=Sc.nextInt();
user.setaccountbalance(accountbalance);
array.add(user);
}
temp.menu(array);
System.out.println("请输入q返回系统录入账号界面:");
Scanner sc=new Scanner(System.in);
c=sc.next();
if(c.equals("q")) {
temp.menu(array);
}
}
}
测试截图:
Java测试报告:
在今天的Java课堂测试中,主要进行了对“ATM机”功能的编写,在编写程序的过程中我发现了自己在Java学习方面存在的一些问题,主要分为以下几个方面:
文件操作(I/O)
文件操作一直是我在计算机学习中的一个弱项,在学习C语言以及C++的时候,文件操作就是我的一个弱项,在文件操作的过程中,我主要对文件的读写存在一些问题,在文件读写的过程中,总数出现读取文件失败以及写入文件的数据出现乱码的现象。通过在网上查询资料的学习过程,我总结了文件操作方面相对重要的知识点如下:
- 输入流:InputStream类是字节输入流的抽象类,常用的一些方法有:
raed()方法:从输入流中读取数据的下一个字节
reset()方法:将输入指针返回到当前所做标记处
skip(long n)方法:跳过输入流上的n个字节并返回实际跳过的字节数
markSupported()方法:如果当前流支持mark()/reset()操作就返回true
- 输出流:outputStream类是字节输入流的抽象类,常用的一些方法有:
write(int b)方法:将指定的字节写入此输出流
write(byte[]b)方法:将b个字节从指定的byte数组写入此输出流。
flush()方法:彻底完成输出并清空缓存区
- 文件的创建:new File(String文件名)
new File(String 父路径,String 子路径)
new File(File 父路径对象,String 子路径字符串)
- FileInputStream类
- FileInputStream(String name):使用给定的文件名name创建一个FileInputStream类对象
- FileInputStream(File file):使用File对象创建FileInputStream对象
- FileoutputStream类方法与FileInputStream类相同
文件操作在编程语言中占有非常重要的地位,尤其是在数据存储方面,文件操作可以很方便的存储数据。在今天的Java测试程序中就多次运用到了文件操作,借此来进行数据的增、删、改、查;由于我之前并没有好好复习文件操作,所以在这方面的分数并没有拿到;然而,在数据的增、删、改、查方面,除了可以使用文件操作之外,还有一种十分简洁便利的方法,那就是使用集合类。很多人都不太了解集合类,觉得他很复杂,却忽略了它在数据操作方面十分的便利快捷。集合类其实可以被抽象为容器,而提到容器就很容易想到数组,集合类与数组的不同之处是,数组的长度是固定的,而集合类的长度是可以改变的;数组主要用来存放基本类型的数据,集合主要用来存放对象的引用。常用的集合主要有List集合、Set集合和Map集合,其中List集合、Set集合继承了Collection接口。Collection接口是层次结构中的根接口,里面包含了一些十分快捷便利的方法,例如add(E e)将指定的对象添加到该集合中,remove(Object o)将指定的对象从集合中移除,size()返回int型值,获取该集合中的元素个数;List接口继承了Collection,因此包含了Collection中所有的方法,除此之外,List接口还定义了get(int index)方法和set(int index,Object obj)方法,分别用于获得指定索引位置元素和将指定索引位置的对象修改为指定对象;List接口中的实现类主要有ArrayList与LinkedList,在今天的程序中我就主要使用了ArrayList实现类,在AccountManager类中定义的函数参数为集合类ArrayList的对象array,集合类中元素类型为Account类,借此来更方便的实现数据的存储、修改以及删除。
这次的Java测试,是对我自己在家中自学Java知识的一个检测过程,在这个过程中,我发现了自己的一些问题,我会在这些问题的方面付出更多的努力,同时我还会优化自己自学的方法,在自学的过程中不仅仅要学习理论知识,实践操作也是非常重要的,因为在实践操作的过程中,我们会更容易发现自己在知识方面存在的问题,从而不断地改正,不断提高自己。
Java测试报告的更多相关文章
- 学生信息管理系统java测试报告
package studentinformation; /**姓名 胡海靖 * 学号 20183609 * 班级 信1805-2 */ class ScoreInformation { private ...
- Ant junitreport with Maven
大家可能都知道在Ant里可以使用junit和junitreport两个task来完成对测试结果生成HTML格式的报告. Maven里的Surefire-report的插件只能对Java测试报告支持的比 ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 行为驱动:Cucumber + Selenium + Java(二) - extentreports 测试报告+jenkins持续集成
1.extentreports 测试报告 pom文件 <dependency> <groupId>com.vimalselvam</groupId> <art ...
- 接口自动化框架(java)--5.通过testng.xml生成extentreport测试报告
这套框架的报告是自己封装的 由于之前已经通过Extentreport插件实现了Testng的IReport接口,所以在testng.xml中使用listener标签并指向实现IReport接口的那个类 ...
- Selenium+Java的TestNG测试报告优化
本博主很懒,但学习很勤快,一般能从博客园直接转载的东西,本博主绝不动手写,无奈Selenium+java生成的测试报告在百度上搜索..反正我是没有看到.后来才知道TestNG它可以自动生成测试报告,但 ...
- Java接口自动化测试之TestNG测试报告ExtentReports的应用(三)
pom.xml导入包 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=" ...
- Java+Selenium3框架设计篇5-如何实现邮件发送测试报告
https://blog.csdn.net/u011541946/article/details/77278837 本篇继续回答网友的问题,这个主题是如何通过邮件发送测试报告.通过邮件发送测试报告,这 ...
- 自动化测试框架selenium+java+TestNG——TestNG注解、执行、测试结果和测试报告
TestNG是java的一个测试框架,相比较于junit,功能更强大和完善,我是直接学习和使用的TestNG就来谈下TestNG的一些特点吧. TestNG的特点 注解 TestNG使用Java和面向 ...
随机推荐
- 深入理解ES6(二)(解构赋值)
变量的解构赋值 (1) 数组的解构赋值 1.基本用法 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring ). 只要等号两边的模式相同,左边的变量 ...
- Java Web项目与Java项目的区别
一.以下是我对Java Web项目和Java项目这两者的理解以及区别: 1.Java Web项目是基于Java EE类的:而Java项目是基于Java应用程序的. 2.Java Web项目是网页的编码 ...
- CommonsCollection6反序列化链学习
CommonsCollection6 1.前置知识 1.1.HashSet HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合.继承了序列化和集合 构造函数参数为空的话创建一 ...
- 性能优化之html、css、js三者的加载顺序
前言 我们知道一个页面通常由,html,css,js三部分组成,一般我们会把css文件放在head头部加载,而js文件则放在页面的最底部加载,想要知道为什么大家都会不约而同的按照这个标准进行构建页面, ...
- redis 指定db库导入导出数据
最近根据之前的项目重新改编一个新的项目,发现上一个项目的搭建者,把一些区域权限和划分放在redis上存储,因此不得不照搬过来,所以搜索一下相关如何做的 发现一个比较简单的做法,记录一下操作过程,方便以 ...
- 三、DOS命令
常用的DOS命令 #盘符切换 D: #查看当前目录下的所有文件 dir #切换目录 cd+空格+/d+空格+路径 #返回上一级 cd+空格+.. #清理屏幕 cls #退出终端 exit #查看电脑 ...
- Python BeautifulSoup4 爬虫基础、多线程学习
针对 崔庆才老师 的 https://ssr1.scrape.center 的爬虫基础练习.Threading多线程库.Time库.json库.BeautifulSoup4 爬虫库.py基本语法
- Java学习day12
Set集合特点:不能包含重复的元素:没有所有的方法,不能通过普通的for循环遍历集合 哈希值是JDK根据对象的地址或者字符串或者数字算出来的int类型的数值,同一个对象多次调用hashCode()方法 ...
- 新手小白入门C语言第四章:变量与常量
C 变量 变量其实只不过是程序可操作的存储区的名称. C 中每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上. 变量的名称可以由字母.数字和 ...
- 1903021116—吉琛—Java第七周作业—客户类测试
项目 内容 课程班级博客链接 19信计班 这个作业要求链接 第七周作业链接 博客名称 学号-姓名-Java第七周作业-客户类测试 要求 每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决 ...