- 博客(133)
- 资源 (9)
- 收藏
- 关注
原创 项目测试(学生宿舍管理系统)
学生宿舍管理系统单元测试功能测试单元测试1、测试框架:junit框架2、测试方法:白盒测试,主要对代码的路径覆盖、错误处理等进行测试。3、测试步骤:(1)添加依赖<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scop
2020-10-13 15:21:07
7579
原创 webdriver相关API
selenium相关API一、元素的定位一、元素的定位webdriver提供的常用的对象定位方法:idnameclass namelink textpartial link texttag namexpathcss selector注意:不管使用什么定位方式,必须保证在页面上该属性是唯一的...
2020-10-10 19:52:31
327
原创 BUG
BUG相关描述一个BUGBUG的级别BUG的生命周期如何发现更多的BUG描述一个BUG1、发现问题的版本 开发人员需要知道出现问题的版本,才能够获取对应版本的代码来重现故障 版本的标识也有利于统计和分析每个版本的质量2、问题出现的环境 环境分为硬件环境和软件环境, 如果是web项目,需要描述浏览器版本,客户机操作系统等, 如果是app项目,需要描述机型、分辨率、操作系统版本等。 详细的环境描述有利于故障的定位3、错误重现的步骤 描述问题重现的最短步骤4、预期行为的描述
2020-10-09 21:53:02
354
原创 之字形顺序打印二叉树
【题目描述】请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。【思路】(1)利用栈和队列将二叉树按照之字形依次放到ArrayList中(2)详细步骤①创建一个ArrayList用于存放二叉树每一层元素②如果二叉树为空,直接返回一个空的ArrayList③创建一个栈,用于对④ ⑤⑥【代码】import java.util.ArrayList;import java.util.LinkedL
2020-10-08 21:16:53
215
原创 selenium
selenium的特点1、轻量级的,免费的自动化测试工具2、支持多语言:python,Java,Ruby,JavaScript,C#3、支持多平台:Firefox,Chrome,edge,IE,360,Safari4、分布式,selenium GRIDselenium工具集thoughtworks公司:JavaScript库selenium1:selenium RC(有环境沙箱问题,被webdriver API代替),selenium IDE(录制自动化脚本),selenium GRID(分布
2020-10-08 17:22:17
572
原创 软件测试的相关概念
目录软件测试的目的和原则什么是需求什么是bug什么是测试用例开发模型和测试模型软件的生命周期瀑布模型增量、迭代敏捷敏捷中的测试软件测试的V模型软件测试W模型配置管理和软件测试什么是配置管理软件配置管理的应用实施软件配置管理的好处配置管理与软件测试软件测试的目的和原则1、目的:验证软件有或没有问题2、原则:以客户为中心,遵循软件测试的规范、流程、标准和要求什么是需求1、IEEE定义:软件需求是 (1)用户解决问题或达到目标所需条件或权能(Capability)。 (2)系统或系统部件要满足合同、标准
2020-10-08 14:13:41
298
原创 自动化测试工具
目录一些自动化测试工具的简单介绍自动化测试方法UI自动化接口自动化自动化测试的优势如何实施自动化测试自动化测试使用的对象一些自动化测试工具的简单介绍Jmeter:性能测试工具,可以进行接口测试Loadrunner:性能测试工具soupui,postman:接口测试appium:APP自动化测试(IOS,Andrio均可)selenium:免费,开源,轻巧,支持多语言(Java,C#,python,ruby),支持多平台(Chrome,IE,fierfok,Safari,edge,Opera,不
2020-10-08 13:54:20
359
原创 练习(十一)
1、 下面哪个标识符是合法的("Hello$World”)java的标识符由数字,字母,下划线,美元符组成,数字不可以作为开头,少用美元符2、 以下描述正确的是(B PreparedStatement是CallableStatement的父接口)A CallableStatement是PreparedStatement的父接口B PreparedStatement是CallableStatement的父接口C CallableStatement是Statement的父接口D PreparedS
2020-09-04 17:15:28
520
原创 练习(七)
1、Math.round(11.5) 等于:(12)参数的小数点后第一位<5,运算结果为参数整数部分。参数的小数点后第一位>5,运算结果为参数整数部分绝对值+1,符号(即正负)不变。参数的小数点后第一位=5,正数运算结果为整数部分+1,负数运算结果为整数部分。2、关于以下程序代码的说明正确的(程序通过编译,输出结果为:x=102)class HasStatic{ private static int x = 100; public static void main(String
2020-09-03 21:36:30
124
原创 练习(十)
10、Fibonacci数列 | 时间限制:1秒 | 内存限制:32768K【题目描述】Fibonacci数列是这样定义的:F[0] = 0F[1] = 1for each i ≥ 2: F[i] = F[i-1] + F[i-2]因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, …,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X+1,现在给你一个数N求最少
2020-08-16 22:02:42
269
原创 练习(八)
【题目描述】有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。【输入描述】每组数据为一行一个整数n(小于等于1000),为数组成员数,如果大于1000,则对a[999]进行计算。【输出描述】一行输出最后一个被删
2020-08-16 00:08:30
237
原创 练习(六)
10、计算糖果 | 时间限制:1秒 | 内存限制:32768K【题目描述】A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息:A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数.现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。这里保证最多只有一组整数A,B,C满足所有题设条件。【输入描述】输入为一行,一共4个整数,分别为A - B,B - C,A + B,B + C,用
2020-08-15 22:39:47
213
原创 练习(五)(Java)
1、 下面的程序 编译运行后,在屏幕上显示的结果是(A 0)public class test { public static void main(String args[]) { int x,y; x=5>>2; y=x>>>2; System.out.println(y); }} A 0 B 2 C 5 D 80 几种移位运算符(运行结果都是按16进制打印的): (1)左移 <<: 左侧位不要了, 右侧补
2020-08-14 19:16:17
205
原创 二叉树的深度
【题目描述】输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。【思路】(1)方法一:递归法一①递归退出条件:root == null,即到达最后一个子树②先循环遍历左子树,再循环遍历右子树③输出左右子树中深度大的(2)方法二:递归法二①定义一个成员变量max,用于记录最大层数②递归退出条件:root == null,即到达最后一个子树③在辅助函数中,若root == null,说明,该结点没有子树,此时将当前层数与记
2020-08-01 00:21:51
252
原创 连续子数组的最大和
【题目描述】HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的(子向量的长度至少是1)【思路】(1)方法一:动态规划①定义状态:f(i) :以i下标结尾的最大连续
2020-07-31 21:25:54
141
原创 从上往下打印二叉树
题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。思路(1)利用队列先进先出的特点,层序遍历二叉树(2)详细步骤①若二叉树为空,直接返回一个空的ArrayList②定义一个队列用于存放准备排序二叉树结点,定义一个ArrayList用于存放一已排好序二叉树③将根节点入队④当二叉树非空的情况下,将队列中的元素放到ArrayList中,再判断该节点是否有左右子树,分别入队⑤最后返回list代码/**public class TreeNode { int val = 0
2020-07-31 20:23:38
144
原创 删除链表中的重复结点
题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。例如,链表1->2->3->3->4->4->5 处理后为 1->2->5思路(1)若链表为空或者只有一个结点,直接返回head(2)在链表不空的情况下,定义一个新链表用于存放去重后的结点,若head.next也不为空且head.val == head.next.val就向后移,直至相邻结点的值不相等;将不重复的值放到定义的新链表中即可代码/*
2020-07-31 19:29:56
303
原创 从尾到头打印链表
题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。思路(1)方法一:利用栈①根据栈先进后出的特点,将链表中的元素全部放入到栈中②创建一个ArrayList,将出栈的元素一次添加到ArrayList中③返回ArrayList(2)方法二:逆置数组①创建一个ArrayList,将链表中的所有元素添加到ArrayList中②将ArrayList逆置,这里用到了get()方法和set()方法 E get(int index) 获取下标为index的元素 E set(i
2020-07-30 15:57:08
103
原创 反转链表
题目描述输入一个链表,反转链表后,输出新链表的表头。思路代码/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode ReverseList(ListNode head) { if(head == null
2020-07-29 20:46:03
199
原创 翻转单词顺序列
题目描述牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?思路(1)方法一:使用StringBuffer①用split()方法用空格将原字符串用空格拆分为字符串数组②若原字符串只有空格那么
2020-07-29 15:49:42
138
原创 左旋转字符串
题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。思路代码在这里插入代码片...
2020-07-29 11:24:54
124
原创 数组中只出现一次的数字
题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。思路(1)由于异或,相同为0不同为1的特点,利用异或的方式查找数组中两个只出现一次的数字(2)详细步骤①首先将所有数组中的所有元素进行异或,得到一个结果result;②利用result对数组分组,找到result第一个比特位为1的数,与其异或结果为1的为一组,为0的为一组③问题就转化为求一个整形数组中只有一个出现一次的数字,直接进行异或,最终得到的值就是出现一次的数字代码//num1,nu
2020-07-27 22:04:19
123
原创 链表第一个公共结点
题目要求输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)思路(1)要找公共结点,那么最后一定是一同到达链表末尾的,所以,先让长链表向后走step(step = |lengthA - lengthB|)步,再将两个链表的结点放在一起对比,返回第一个相同的结点即可(2)详细步骤①获取两个链表的长度②比较长的链表向后走step(step = |lengthA - lengthB|)步,此时两个链表长度相同③开始比较链表
2020-07-27 21:26:50
138
原创 回文数索引
题目描述给定一个仅由小写字母组成的字符串。现在请找出一个位置,删掉那个字母之后,字符串变成回文。请放心总会有一个合法的解。如果给定的字符串已经是一个回文串,那么输出-1。思路(1)根据题目要求可知,无论如何都会有一个合法的解从两侧进行统计,如果不同,则删除任意一个,在判定是否是回文,如果是,下标就是删除数据的下标,如果不是,就是另一个元素的下标代码import java.util.*; /* 输入描述: 第一行包含T,测试数据的组数。后面跟有T行,每行包含一个字符串。 输出描
2020-07-27 17:07:57
195
原创 最小栈
题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))思路创建两个栈A,B,A用于存放用于存放正常数据,B用于存放A中的最小值 1、入栈 (1)将要入栈的数直接入到A中; (2)此时,若B为空,将该数再次入到B中; (3)若B不为空,则取B的栈顶元素,与该数进行比较,将较小的数入到B中 2、出栈 (1)若A为空,直接返回null (2)A不为空,A,B同
2020-07-24 11:48:47
170
原创 链表的倒数第K个结点
题目描述输入一个链表,输出该链表中倒数第k个结点。思路(1)方法一:得到链表的结点个数size,让head向后走size-k步;①若链表为空,直接返回null②获取链表的结点个数size③若K值不合法(k<=0||k>size),直接返回null;④head向后走size-k步,返回此时的head即可(2)方法二:前后指针法①若链表为空,直接返回null②若K值不合法(k<=0),直接返回null;③定义两个指针front,rear④front先走K步⑤fron
2020-07-24 10:18:10
99
原创 树的子结构
题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路(1)B是A的子结构,即说明B是A的一部分(2)比较的过程主要分为:①确定起始位置;②从起始位置开始,判断后续左右子树是否相同(3)主要步骤:①根据题意可知,若两棵二叉树中任意一棵树为空,直接返回false;②此时说明二叉树A,B都非空,从根结点开始比较,若相同,进入isSameTree()比较剩下部分是否相同,若不同,接着从A树的左右结点分别开始比较③在isSameTree()函数中
2020-07-23 21:46:39
102
原创 镜像二叉树
题目描述操作给定的二叉树,将其变换为源二叉树的镜像。思路(1)获取源二叉树的镜像,将源二叉树的左右子树交换即可(2)主要步骤:①若二叉树为空,直接返回;②若二叉树不为空,交换其左右子树③递归的将二叉树的其他结点进行交换;代码/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) {
2020-07-23 19:24:07
175
原创 合并链表
题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则思路(1)根据题意,两个链表都是递增的,所以只需要从头到尾依次比较两个链表的元素,再按序放入新链表中即可(2)具体做法:①若其中一个个链表为空,直接返回另一个链表;②创建一个新链表newHead用于存放排序后的元素,由于,创建一个空链表,在加入新元素时,还要分情况讨论,所以直接创建一个非空结点,返回时,返回头结点的next即可③创建一个节点tail用于指向新链表的末尾④在两个原始链表非空的情况下
2020-07-23 18:35:21
167
原创 青蛙跳台阶问题
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)思路方法一:简单的动态规划(1)状态定义:f(n):跳到第 n 级台阶的总跳发(2)状态递推:f(n) = f(n-1)+f(n-2)(3)初始状态:f(0) = 1(第0级台阶即为起点,到达该处只有一种方法,既保持不动);f(1) = 1;方法二:斐波那契数列跳台阶问题,同样可以转化为斐波那契数列问题,可以采用求斐波那契数的方法求解代码package day3;
2020-07-22 20:20:14
157
1
原创 斐波那契数列
题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)思路(1)斐波那契数列(从第0项开始):0 1 1 2 3 5 8 13 21 34(2)斐波那契数列的特点:第 n 项,等于第(n-1)项和(n-2)项之和,即f(n) = f(n-1)+f(n-2);(3)两种做法:递归和迭代代码public class FibNum { //递归 private static int fib(int n){
2020-07-22 15:42:44
184
原创 二维数组的查找
题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数思路:(1)该数组的特点:从左到右递增,从上到下递增;(2)判断一个数是否在该二维数组中,有两种方法: ①遍历整个数组,一一查找; ②利用该数组的特点,每次从最左上角的元素开始找,一次可以排除一行或一列;(3)方法二: ①从最左上角的元素开始,该元素是本行最大的元素,本列
2020-07-20 19:05:17
113
原创 练习(四)(Java)
1、下面属于黑盒测试方法的是(**C 边界值分析 **)A 语句覆盖 B 逻辑覆盖 C 边界值分析 D 路径覆盖黑盒测试不关心程序内部的逻辑,只是根据程序的功能说明来设计测试用例。在使用黑盒测试法时,手头只需要有程序功能说明就可以了。黑盒测试法分等价类划分法、边界值分析法和错误推测法2、下列不能用作存储容量单位的是(C MIPS )A Byte B GB C MIPS D KBMIPS 即 Million Instructio
2020-07-16 15:33:56
279
原创 Linux的基本指令
目录一、相对路径和绝对路径二、一些全局的命令三、一些基本指令1、ls指令2、pwd命令3、cd 指令4、touch指令5、mkdir指令6、rm指令7、 cp指令8、mv指令9、cat指令10、man指令11、less指令12、head指令13、tail指令14、date 命令四、搭建Java部署环境用到的一些命令五、Linux权限1、Linux用户2、三种角色3、文件类型及访问权限4、chomd命令一、相对路径和绝对路径1、文件的路径也就是文件存放的位置,指明一个文件路径的方法:相对路径和据对路径2
2020-07-15 21:40:41
148
原创 练习(三)(Java)
1、以下代码运行输出的是(C 编译出错)public class Person{ private String name = "Person"; int age=0;} public class Child extends Person{ public String grade; public static void main(String[] args){ Person p = new Child(); System.out.println(p.name); }}A 输出:P
2020-06-23 21:15:39
344
原创 练习(二)(Java)
1、下面代码将输出什么内容:(B false)public class SystemUtil{ public static boolean isAdmin(String userId){ return userId.toLowerCase()=="admin"; } public static void main(String[] args){ System.out.println(isAdmin("Admin")); }}2、阅读如下代码。 请问,对语句行 test.hello(
2020-06-05 11:27:04
237
原创 练习(一)(Java)
一、选择题1、 执行如下程序,输出结果是(C 2 24 46 6)class Test{ private int data; int result = 0; public void m(){ result += 2; data += 2; System.out.print(result + " " + data); }} class ThreadExample extends Thread{ private Test mv; public ThreadExample(Tes
2020-06-03 21:39:11
362
原创 认识线程(Thread)
目录一、概念二、接触线程 -- 几段代码三、多线程的优势四、创建线程1、继承 Thread 类2、实现 Runnable 接口3、其他变形一、概念1、进程是系统分配资源的最小单位2、线程是系统调度的最小单位。一个进程内的线程之间是可以共享资源的。每个进程至少有一个线程存在,即主线程二、接触线程 – 几段代码三、多线程的优势四、创建线程1、继承 Thread 类2、实现 Runnable 接口3、其他变形...
2020-06-01 14:03:55
201
原创 volatile关键字和单例模式
目录volatile单例模式1、饿汉模式2、懒汉模式(1)线程不安全的版本(2)线程安全,但效率低的版本(3)线程安全,且效率高volatile1、作用(1)修饰的共享变量;(2)保证可见性,变量都是从主存进行操作;(3)部分保证顺序性,禁止指令重排序,建立内存屏障2、注意事项:不保证原子性3、结论如果一个变量的操作,不会分解为多条指令,就是线程安全的;否则就是线程不安全的(1)依赖某个共享变量的值进行修改操作,就会分解(2)n++,n–,++n,–n,!flag,new对象是非线程安全
2020-05-27 10:30:17
515
Appinventor练习 - 输入式计算器aia文件及说明文档.zip
2020-05-09
Appinventor练习 - 简易购票系统aia文件及说明文档.zip
2020-05-07
Appinventor练习 - 我的小画板aia文件及说明文档.zip
2020-05-07
Appinventor练习 - 安安爱弹琴aia文件及说明文档.zip
2020-05-07
Appinventor练习 - 我的足迹.zip
2020-05-07
Appinventor练习--单机版成语接龙aia文件以及说明文档.zip
2020-04-28
Appinventor练习打飞机游戏aia文件以及说明文档.zip
2020-04-28
Appinventor 练习--打地鼠游戏aia文件及说明文档.zip
2020-04-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人