自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 使用python捕获print()输出,并生成txt文本

通过在代码首尾使这些类,可捕获期间的打印输出,并保存到一个以时间命名的txt文本作为日志文件。

2024-03-08 11:06:52 414

原创 【python】CAD二次开发,图元对象的交点获取方法IntersectWith

CAD二次开发,图元对象的交点获取方法IntersectWith,函数适用对象:All Drawing Objects (Except Pviewport and PolygonMesh)

2024-02-07 16:25:44 533

原创 爬虫批量获取中文文献引用[selenium+知网]

首先将文献下载保存至一个文件夹,文件命名格式为 " XXXXXX_作者.pdf "(知网下载pdf默认格式),然后通过python提取文件名,利用selenium访问知网实现搜索、引用的功能,然后抓取该文献引用格式。:毕业论文中文献往往高达几十篇,调整引用格式(如标点后需加“空格”,作者超过三人,第三人以后需改为“,等”),虽然有各种论文管理软件,但能利用自己所学技能批量获取文献引用也挺有趣。缺点很多,包括英文文章没有考虑,文献命名格式固定等等,不过作为一个小demo玩玩还是可以的。

2023-03-24 22:16:12 840

原创 python+selenium批量下载上海证券交易所2012年至2021年物流公司年报

python+selenium批量下载上海证券交易所2012年至2021年物流公司年报

2023-01-05 18:08:00 16885 1

原创 最新版selenium快速入门【Python】

目前selenium版本与之前版本的主要差别,首先导入By包,定位元素时需在By后面指定定位器,详细可查看文档。

2022-12-23 23:53:02 2122

原创 访问静态网页出现no explicit mapping for /error异常

异常:This application has no explicit mapping for /error, so you are seeing this as a fallback。今天在静态资源包下新加了个网页,浏览器输入正确访问路径时,过滤器显示放行,但网页报错。而新改的内容不生效,让我想起平时常用的clean。由于添加了新的资源,需要应clean移除所有上一次构建生成的文件。

2022-08-23 10:18:33 841

原创 记录一下最近遇见的小bug——2022-8-11

2)持久层使用mybatis-plus简化开发,操作时实体类与表对应,在进行save()操作时,由于未将实体类对象的属性设置全(有的属性值为null),导致后台报错,这个问题可通过控制台输出的sql语句检查出问题。(3)在进行异常处理时,由于未使用@ResponseBody注解,导致报错。responseBody使方法的返回值以json字符串的形式返回给前端,如果不设置,那服务器无法向前端响应数据,所以报错。(1)前端页面文件有bug时进行修改后,未清除浏览器缓存,导致虽然改了但还是报错。...

2022-08-11 21:34:45 66

原创 算法基础——链表反转

不管是单链表还是双链表,反转的逻辑步骤都一样,首先保存当前节点的下一个节点的地址值,防止因当前节点指向更改而丢失,然后更改当前节点的指向,单链表只更改next,而双链表还要更改last,最后再调整节点顺序(获取下一个节点地址值),pre在前head在中,last在后的结构,最后循环结束返回pre即最后一个节点地址,即新的头节点。...

2022-08-06 13:55:44 389

原创 算法基础练习——二分法

1.基本二分查找:一个有序数组arr[],使用二分查找其中的num,返回Boolean值。2.二分查找扩展:(1)查找某数最左位置(2)数组局部最小

2022-07-27 22:59:51 124

原创 函数f1()等概率返回1~5,要求等概率返回1~7。

题目:函数f1()等概率返回1~5,要求等概率返回1~7。思路:由函数f1()获取0,1构造函数f2(),三个二进制位再分别调用f2()组成十进制的0~7。0~7再获取0~6的构造函数,再+1即为1~7。 推广:任意等概率函数,只需改写成0,1生成器,即将生成器通过位运算结合+/-法,生成任意范围等概率函数。例:如3~10,要求改写2~8。思路:首先看奇偶,3~10,共8个数,为偶数,则让3~6返回0,7~10返回1,构建0,1生成器。要求2~8,则生成等概率返回0~6函数再...

2022-06-28 22:32:38 252

原创 三种基础排序算法

1 插值排序,后1位比前1位,或前位比后位。2 冒泡排序,两两交换,逐渐传递。3 选择排序,从左到右,选择最小值排序。3 选择排序,从左到右,选择最小值排序

2022-06-28 17:11:58 139

原创 javaWeb查询启用禁用时,查询启用正常,查询禁用返回不正确

需求:在前端页面的条件查询框点击搜索,后端返回数据库中符合条件的所有数据的总数。整体业务逻辑如下:问题:原查询语句如下,status表示状态,0为禁用,1为启用,以Integer类型储存。当页面查询时,前端会将条件以json字符串形式发送给后端,后端再将字符串转换为一个brand对象,此时status封装为brand的一个变量,然后再按照查询语句对数据库进行检索。其中嵌入了一个关于状态的if判断。在实际查询中,选择启用时查询结果正确,选择禁用时查询结果为全部数据。解决:经过检查发现问题出在状态if的条

2022-06-07 14:13:05 301

原创 element ui中el-switch根据后端传递值进行默认显示

需求:修改一个行数据,弹出一个修改框,其中状态(启用/禁用)使用switch控制。后端返回的状态,分别是1和0,其中0表示禁用,1表示启用。问题:当每次点击修改时,不管后端反馈的状态是1还是0,该行数据的状态开关始终处于关闭状态,。...

2022-06-04 09:02:51 3798 2

原创 javaWeb练习——简单的用户登陆逻辑

需求:进入登陆页面,用户输入用户名和密码,返回登陆成功或失败。具体流程图如下:Servlet类的详细逻辑如下://WebServlet路径与表单action提交的路径一致,表单提交的数据交给该servlet程序解析@WebServlet("/req")public class requestServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, H.

2022-05-27 10:12:48 521

原创 javaWeb练习——初认JDBC

简单来说,JDBC就是用java语言操作关系型数据库的一套API。他的使用步骤主要为以下流程:(0)导入jar包(1)注册驱动(2)获取连接(3)定义SQL语句(4)获取执行SQL对象(5)执行SQL(6)处理返回结果(7)关闭资源 需要说明的一点是,注册驱动可以省略,对于sql语句,若是查询语句则使用statement.executeQuery(sql)获取查询结果的对象,然后使用该对象的next(),getXxx方法获取值。当需要防sql注入时,在获取执...

2022-05-18 19:21:07 80

原创 javaSE进阶练习——多线程等待唤醒练习

经典等待唤醒需求分析: 有一个桌子,桌子上有一个蛋糕,当顾客线程先抢到CPU,则先执行顾客线程,上锁,首先看桌子,若有蛋糕顾客去吃,吃完了唤醒厨师线程去抢CPU做蛋糕,自己再继续抢CPU;若没蛋糕则等待,解锁,让厨师运行厨师线程做蛋糕。若厨师先抢到CPU看到桌子,若有蛋糕,厨师等待,解锁,把cpu让给顾客,执行顾客线程;若无蛋糕,厨师做蛋糕,做完蛋糕唤醒顾客线程去抢CPU,自己再继续抢CPU。顾客厨师反复抢CPU,直到达到run结束的条件。 若唤醒其它线程后,自己又抢到CP...

2022-05-11 14:51:29 157

原创 javaSE进阶练习——商场功能的基本实现

需求:实现一商城,主要有店铺和商品栏,商品栏中有商品。商品的信息包括商品名、商品的描述、价格、库存、上架时间。tips: 1.商品使用自定义类,在设置具体属性值时进行判断抛出自定义异常,减少测试类中代码逻辑判断。 2.商城使用HashMap,键储存店铺,值储存商品栏,商品栏为单列集合,使用ArraList存储商品信息。 3.利用正则表达式、捕获异常、等对输入进行校验,使用while+continue循环进行重复判断。 4.遇到复杂的逻辑不要慌,层层递进,在实现整体逻辑的基...

2022-05-05 22:56:21 387

原创 javaSE进阶练习——HashMap遍历

1.概述 Map集合的特点是无序,无索引,不重复(键不重复,对值无要求)。遍历方式主要有三种,分别是: (1)通过键找值:使用keySet()获取Map键的Set集合,然后使用get(),根据键获取值。 (2)通过键值对遍历:先把Map转为Set集合,Set集合中每个元素都是键值对的实体类型,然后遍历Set集合,提取键与值。 (3)使用forEach(),形参为Biconsumer的实现类对象。2.实例需求:键盘录入“姓名,年龄”,存储到M...

2022-05-03 15:27:27 278

原创 javaSE进阶练习——常用单列集合(Collection)练习

1.Collection常用集合简介 单列集合包括list系列和set系列,list系列集合特点是有序、重复、有索引,set系列集合特点是无、不重复、无索引,其中list又分ArrayList和LinkedList,set又分Hashset和TreeSet,Hasheset还分linkedHashSet。 虽然单列集合有很多,但目前常用的有三种,一般默认使用ArrayList集合,使用HashSet去重,和TreeSet指定排序。arraylist底层为数组,因此根据索...

2022-05-02 20:39:20 257

原创 javaSE进阶练习——TreeSet集合,自定义类重写compareTo练习

需求:用TreeSet集合存储3个学生信息,学生信息包括姓名、年龄、语文成绩、数学成绩、和总分,要求按总分从高到低排序,若总分一样按语文排序,如果语文一样按数学排序,如果数学一样按年龄排序,如果年龄一样按姓名默认排序。详细代码如下:Student类(重写toString方法和compareTo方法)public class Student implements Comparable<Student> { // 姓名、年龄、语文成绩、数学成绩、和总分 priva

2022-05-02 19:23:18 319

原创 javaSE进阶练习—— Collection的三种遍历方式练习

Collection的三种通用遍历方式练习

2022-04-30 15:38:08 706

原创 javaSE基础练习——冒泡排序

冒泡排序:先不要一来就写代码,首先理解什么是冒泡排序,然后分析思路,再进行代码编写。 思路:首先设置一个for循环,从索引开始到结束进行一次两两比较交换,然后再外嵌套一个for循环用来执行交换循环次数。public class BubbleSort { public static void main(String[] args) {// 冒泡排序, int [] arr={3,9,4,8,7,15,10,15,2,35,44,5}; ...

2022-04-29 16:57:15 223

原创 javaSE进阶练习——500天后是几年几月几日 周几

需求:用程序表达500天后是“几几年几月几日 周几”。public class Test { public static void main(String[] args) {// 500天后是多少年月日,按如 "2022年4月29日 周五" 的格式展示 //1.获取当前时间 Calendar time=Calendar.getInstance(); //2.增加500天 time.add(Calendar.DAY_

2022-04-29 15:48:43 883

原创 javaSE进阶练习——SimpleDateFormat类

1.SimpleDateFormat SimpleDateFormat用于日期格式化,他的父类:java.text.DateFormat 是日期/时间格式化的抽象类,我们通过SimpleDateFormat类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。 创建SimpleDateFormat对象时需指定时间规则(SimpleDateFormat(String pattern)),y代表年,M代表月,d代表日,H代表小时,m代表分...

2022-04-28 17:59:20 477

原创 javaSE进阶练习——工具类练习

1.工具类 工具类的内部都是一些静态方法,每个方法完成一个功能,能被其它类调用来完成某些行为,能够提高代码的富用性,如Math类。 为了防止外界创建工具类的实例对象,通常将工具类的构造方法进行私化。 工具类整体结构可分为:类名{ 私有化(private修饰)构造方法、静态(static修饰)工具方法 }2.实例练习 需求:创建一个随机生成验证码的工具类。验证码的规则如下: (1)验证码长度为5。 (2)验证码的1~4...

2022-04-25 18:36:10 213

原创 java基础练习——学生管理系统

1.需求:学生管理系统功能: 按1添加学生对象,按2查询学生,按3删除学生,按4修改学生属性,按5查看所有学生,按6退出。2.主要知识点:(1)类的创建,私有成员对象,带参/不带参构造方法,set/get方法,其它行为方法。(2)集合的构造方法,集合方法(增add、删remove、改set、查get、长度size)。(3)字符串的常用方法,比较equals()等。(4)其它内容,包括数据类型、键盘键入scanner,输出sout等。3.Tips(1)练习使用快捷方法,如.

2022-04-24 16:19:20 418

原创 java基础练习——for循环删除时索引回退现象

问题:使用for循环遍历删除数组或集合中指定元素时,若元素连续出现,则出现漏删现象。原理图如下:解决:每删除一个指定元素后,需设置使索引回退1位。实例:public class DeleteArrayListElement { public static void main(String[] args) {//创建集合 ArrayList<String> list=new ArrayList<>();//添加内容 l.

2022-04-24 12:36:33 339

原创 java基础练习——反转字符串

需要:反转字符串,例如“我来自中国”反转输出为“国中自来我”。方式一: 反转字符串主要通过字符重组的方式。将字符串string倒序提取出字符char,再使用+=,将字符串重组为新的倒转过后的字符串string。详细代码段如下:package com.itheima.test7;import java.util.Scanner;public class ReverseString { public static void main(String[] args) {...

2022-04-23 17:22:05 635

原创 java基础练习——敏感词替换

需求:设置敏感词库,循环替换输入语句。package com.itheima.test7;import java.util.Scanner;public class SensitiveWord { public static void main(String[] args) {// 替换敏感词汇// 1.键入语句 Scanner sc = new Scanner(System.in); String inputWord =

2022-04-23 11:39:37 1525

原创 java基础练习——读取字符串中数字和字母个数

package com.itheima.test7;import java.util.Scanner;public class CountNumber { public static void main(String[] args) {// 键入一串字符串,并统计一个字符串中字母、数字分别为多少// 1.键入 Scanner sc=new Scanner(System.in); System.out.println("请输入字.

2022-04-22 19:30:37 1311

原创 java基础练习——初识标准类

1.类和对象的理解类可以理解为具有某些共有属性的统称,比如人类,一般而言人类都有一个头,两只手等而对象可理解为具体的某个事例,比如某个具体的人,他的头是什么样,手是什么样。2.标准类①类名需要见名知意②成员变量使用private修饰③提供至少两个构造方法。 构造方法用于初始化成员变量,不带参数的构造方法初始化成员变量时为默认值,带参数的构造方法初始化成员变量时为指定参数值。④成员方法。包括setXxx()/getXxx(),及其他行为方法。 s...

2022-04-21 10:27:05 74

原创 java基础练习——双色球系统

双色球共6个红球,和1个篮球,根据比较用户输入双色球与系统生成双色球的匹配度来反馈奖励一、需求:1.储存用户能够输入双色球。2.能够检查用户输入是否合法。红球号码1~33,蓝球号码1~16。3.系统能够自动生成双色球。4.比较反馈匹配度。二、主要思路1.双色球用二维数组保存。其中索引[0][i]的数组保存红球的数据(i<=5);索引[1][0]的数组保存篮球的数据。2.储存用户输入、储存系统输入的代码相似,不同之处在于用户使用scanner,系统使用random。3

2022-04-20 19:56:11 1129

原创 java基础-二维数组创建与遍历

package com.itheima.test5;public class ArrayTwo { public static void main(String[] args) {// 二维数组,创建一个二维数组,并且遍历 int [] [] arr={ {20,30,30}, {20,30,30}, {20,30,30} }; int sum=0; for.

2022-04-20 17:13:21 2941

原创 java基础练习-打印梯形

需求:打印一个梯形实现思路:两个for循环嵌套,第一个for循环规定了打印多少行,里面嵌套的for循环规定了每一行打印什么东西,打印多少个。具体代码实现如下package com.itheima.test5;public class ShadeTest { public static void main(String[] args) {// 打印梯形 for(int i=1;i<=8;i++){ for(int j=i;j&

2022-04-20 14:22:23 1711

原创 java基础练习——复制数组

需求:复制数组,从索引from,复制到索引to,包含from,不包含to。from和to需手动输入。package com.itheima.test4;import java.util.Scanner;public class MethonDemo4 { public static void main(String[] args) {//需求:复制数组,从索引from,复制到索引to,包含from,不包含to// 1创建被复制数组 int [] arrOld.

2022-04-19 22:25:34 90

原创 JavaScript——基于定时器的切图练习

1.实现功能,点击开始时每隔500ms自动切图,点击停止时,停止切图2.代码短如下 <style> div.box { width: 500px; margin: 50px auto; text-align: center; background-color: bisque; } img { width: 100

2022-04-07 09:57:53 262

原创 JavaScript——切图 练习

1.详细代码 <style> div.box { width: 500px; margin: 50px auto; text-align: center; background-color: bisque; } img { width: 100%; } </style>

2022-04-06 15:27:37 106

原创 JavaScript——选择框练习

<script> window.onload = function () { /*获取运动栏对象*/ var items = document.getElementsByName("items"); /*获取全选/全不选栏对象*/ var checkedAllBox = document.getElementById("checkedAllBox"); /*..

2022-04-04 18:17:31 449

原创 JavaScript——onload事件

加载 JS 时出现Cannot read property 'appendChild' of null错误:<head> <script> let li = document.createElement("li"); let text = document.createTextNode("广州"); /*将 广州 添加到li*/ li.appendChild(text); let box

2022-04-01 17:11:48 102

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除