next

201771010126 王燕《面向对象程序设计(java)》第十八周学习总结

回眸只為那壹抹淺笑 提交于 2021-02-01 05:52:28
实验十八 总复习 实验时间 2018-12-30 1 、实验目的与要求 (1) 综合掌握java基本程序结构; (2) 综合掌握java面向对象程序设计特点; (3) 综合掌握java GUI 程序设计结构; (4) 综合掌握java多线程编程模型; (5) 综合编程练习。 2 、实验内容和步骤 任务1 :填写课程课后调查问卷,网址:https://www.wjx.cn/jq/33108969.aspx。 任务2: 综合编程练习 练习1:设计一个用户信息采集程序,要求如下: 1 package project1; 2 3 import java.awt.* ; 4 import java.awt.event.* ; 5 import javax.swing.* ; 6 import javax.swing.border.* ; 7 8 public class test extends JFrame { 9 public test() { 10 JPanel panel1 = new JPanel(); 11 panel1.setPreferredSize( new Dimension(700, 45 )); 12 panel1.setLayout( new GridLayout(1, 4 )); 13 JLabel label1 = new JLabel("Name:" );

201771010126 王燕《面向对象程序设计(Java)》第九周学习总结

风格不统一 提交于 2021-02-01 05:51:30
实验九 异常、断言与日志 实验时间 201 8-10-25 1 、实验目的与要求 (1) 掌握java异常处理技术; 异常积极处理方法:使用try子句捕获异常 异常小计处理方法:抛出throw异常类 (2) 了解断言的用法; 断言:是一种错误处理机制,是在程序的开发和测试阶段使用的工具。 断言(assert)是JDK1.4中引入的一个新的关键字,语法如下: assert 条件 或者assert 条件:表达式 这两个形式都会对“条件”进行判断, “条件”是一个布尔表达式。如果判断结果为假(false)则抛出AssertionError。在第二种形式中,“表达式”会传进AssertionError的构造函数中并转成一个消息字符串。 “表达式”部分的唯一目的就是生成一个消息字符串。 AssertionError对象并不存储表达式的值,因此你不可能在以后获取它。 断言仅仅应该在测试阶段用来定位程序内部错误。 可以将断言语句作为方法的前置条件或后置条件来添加,也可以将其置于任何方法内,或放在if…else块和switch块中。assert 关键字的唯一限制在于它必须位于可执行块中。 对一个方法调用是否使用断言,应先看看该方法的文档。如果文档指明在某种情况下会抛出异常,那么对这种情况不需使用断言;如果文档指明一个限制条件,但没有说明违反该条件会抛出异常,此时就可以使用断言。 (3)

201771010126 王燕《面向对象程序设计(java)》第八周学习总结

二次信任 提交于 2021-02-01 05:50:57
实验六 接口的定义与使用 实验时间 201 8 - 10 - 18 1 、实验目的与要求 (1) 掌握接口 定义方法 JAVA中通过interface关键字定义接口; 接口中只能定义public static final(也可以在定义时不写,系统是默认的)修饰的变量以及抽象方法 接口中定义的变量必须有初始值 (2) 掌握 实现接口类的定义要求; 接口体中包含常量定义和方法定义,接口中只进行方法的声明,不提供方法的实现;且接口中的任何方法都自动是 public,字段也总是public static final的。 (3) 掌握实现了接口类的使用要求; 接口不能构造接口对象,但可以声明接口变量以指向一个实现了该接口的类的对象。 可以用 instanceof来检查对象是否实现了某个接口。 通常接口的名字以 able或ible结尾; 可以使用 extends来继承接口的常量和抽象方法,扩展形成新的接口; 接口中的所有常量必须是 public static final,方法必须是public abstract,这是系统默认的,不管你在定义接口时,写不写修饰符都是一样的。 在类声明时用 implements关键字声明使用一个或多个接口 一个类使用了某个接口,那么这个类必须实现该接口的所有方法,即为这些方法提供方法体。 一个类可以实现多个接口,接口间应该用逗号分隔开。 若实现接口的类不是抽象类

从Java角度修复SQL注入漏洞

南笙酒味 提交于 2021-02-01 05:27:15
   很多情况因为过滤不严导致很多网站存在sql注入,这里以用户登陆为例,简单举例        首先创建一个测试的数据库         比较基础,不写创建过程了                java代码如下:          package cn.basic.jdbc; import java.awt.image.RescaleOp; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import org.junit.jupiter.api.Test; public class Test1 { /* * public static void main(String[] args) throws ClassNotFoundException, * SQLException { login("aa","aa"); } */ @Test public void testlogin() throws ClassNotFoundException, SQLException {

Java 集合系列之三:Set基本操作

ⅰ亾dé卋堺 提交于 2021-02-01 01:45:21
1. Java Set 1. Java Set 重要观点 Java Set接口是Java Collections Framework的成员。 Set不允许出现重复元素-----------无重复 Set不保证集合中元素的顺序---------无序 Set允许包含值为null的元素,但最多只能有一个null元素。 Set支持泛型(类型的参数化),我们应尽可能使用它。将Generics与List一起使用将在运行时避免ClassCastException。 先去看Map,Set的实现类都是基于Map来实现的(如,HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的,LinkedHashSet是通过LinkedHashMap来实现的)。 2. Java Set类图 Java Set接口扩展了Collection接口。Collection接口 externs Iterable接口。 一些最常用的Set实现类是HashSet,LinkedHashSet,TreeSet,SortedSet,CopyOnWriteArraySet。 AbstractSet提供了Set接口的骨干实现,以减少实现List的工作量。 3. Java Set 方法 boolean add(E e) // 如果 set 中尚未存在指定的元素,则添加此元素(可选操作)。 boolean

Jenkins+maven+jmeter+eclipse搭建自动化测试平台

人盡茶涼 提交于 2021-01-31 23:48:42
一、准备工作 1、jmeter准备测试脚本 2、maven环境配置 3、eclipse创建maven项目 4、Jenkins集成项目 二、jmeter准备测试脚本 使用jmeter准备测试脚本(不管录制也好还是自己手动配置也好都可以) 三、maven环境配置 1、下载maven 下载地址:http://maven.apache.org/download.cgi 2、下载之后解压 3、配置环境变量 MAVEN_HOME:C:\Program Files\Java\apache-maven-3.6.0 解压之后的目录 在Path变量加上:%MAVEN_HOME%\bin; 注:环境变量内一定是要配置好jdk的环境 在命令行下输入 mvn -v 显示出以下信息表示配置成功 四、eclipse配置maven项目 1、eclipse内创建maven项目 File—>New—>Project 然后选择maven项目 然后选择默认工作区间后点击Next 点击Next 填写Group Id和Artifct Id后点击Finish 创建成功之后生成目录如下 修改pom.xml,代码如下: < project xmlns ="http://maven.apache.org/POM/4.0.0" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"

Java常用工具——java集合

烈酒焚心 提交于 2021-01-31 23:25:17
一、ArrayList package com.imooc.set; import java.util.ArrayList; import java.util.List; public class ArrayListDemo { public static void main(String[] args) { // 用ArrayList存储编程语言的名称,并输出。 // 名称包括”Java”、”C”、”C++“、”Go”和”Swift” List list= new ArrayList(); list.add( "Java" ); list.add( "C" ); list.add( "C++" ); list.add( "Go" ); list.add( "Swift" ); // 输出列表中元素的个数 System.out.println("列表中元素的个数:"+ list.size()); // 遍历输出所有编程语言 System.out.println("==========================" ); for ( int i=0;i<list.size();i++ ) { System.out.print(list.get(i) +" " ); } System.out.println(); // 移除列表中的C++ System.out.println("=

oracle数据泵导入导出数据

只谈情不闲聊 提交于 2021-01-31 09:51:18
数据泵是10g推出的功能,个人倒数据比较喜欢用数据泵。 其导入的时候利用remap参数很方便转换表空间以及schema,并且可以忽略服务端与客户端字符集问题(exp/imp需要排查字符集)。 数据泵也有不方便的地方,如果远程导出导入,必须安装数据库服务端(client不行);需要在数据库中创建一个路径directory(dba_directories);并且主流工具支持exp/imp的导入导出(plsql developer),所以发现数据泵流行程度没有想象中高。 以下简单介绍schema的导入导出 以schema方式导出生产库用户下所有对象,并导入测试库。 注:eamdb为生产库,eamprd为生产库用户,密码为eamprd eamuat为测试库,eamprduat为测试库用户,密码为eamprduat 一、 生产库的导出(以 sqlplus 命令行的方式)。 1.以sys或者system用户身份登录生产数据库。 2.创建schema导出路径(DUMP_DIR名称可替换),并在dba_directories中查看 create directory DUMP_DIR as ‘/xxx/xxx’; select * from dba_directories; 3.把导出路径与导出权限授权给eamprd,如果用system等高级帐号导出,则不用。 grant read,write on

网易笔试题——推箱子

天涯浪子 提交于 2021-01-30 19:24:18
题目:大家一定玩过“推箱子”这个经典的游戏。具体规则就是在一个N*M的地图上,有1个玩家、1个箱子、1个目的地以及若干障碍,其余是空地。玩家可以往上下左右4个方向移动,但是不能移动出地图或者移动到障碍里去。如果往这个方向移动推到了箱子,箱子也会按这个方向移动一格,当然,箱子也不能被推出地图或推到障碍里。当箱子被推到目的地以后,游戏目标达成。现在告诉你游戏开始是初始的地图布局,请你求出玩家最少需要移动多少步才能够将游戏目标达成。 输入描述: 每个测试输入包含1个测试用例 第一行输入两个数字N,M表示地图的大小。其中 0 < N , M <= 8 0<N,M<=8。 接下来有N行,每行包含M个字符表示该行地图。其中 . 表示空地、X表示玩家、*表示箱子、#表示障碍、@表示目的地。 每个地图必定包含1个玩家、1个箱子、1个目的地。 输出描述: 输出一个数字表示玩家最少需要移动多少步才能将游戏目标达成。当无论如何达成不了的时候,输出-1。 输入例子: 4 4 …. ..*@ …. .X.. 6 6 …#.. …… #*##.. ..##.# ..X… .@#… 输出例子: 3 11 以人的角度来广度优先遍历图,st[10][10][10][10]用来存储人的位置和箱子的位置,map存储原始数据,从人的位置开始往四个方向遍历,依次判断是否符合条件,并需要更新路径长度。 // Study

C#循环

纵然是瞬间 提交于 2021-01-30 10:14:34
问题: In a C# (feel free to answer for other languages) loop, what's the difference between break and continue as a means to leave the structure of the loop, and go to the next iteration? 在C#(随意回答其他语言)循环中,break和continue之间的区别是什么,作为离开循环结构的手段,并进入下一次迭代? Example: 例: foreach (DataRow row in myTable.Rows) { if (someConditionEvalsToTrue) { break; //what's the difference between this and continue ? //continue; } } 解决方案: 参考一: https://stackoom.com/question/1fS/C-循环-中断与继续 参考二: https://oldbug.net/q/1fS/C-loop-break-vs-continue 来源: oschina 链接: https://my.oschina.net/u/4437974/blog/4329936