自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 easyExcel解析数据,并将合并单元格的数据解析,30M的数据仅需8s

【代码】easyExcel解析数据,并将合并单元格的数据解析,30M的数据仅需8s。

2024-04-25 08:51:24 141

原创 java将复杂Excel表格转为实体类对象,表格中有合并单元格数据

在Excel工具读取中,数字类型会转化为Integer类型,小数会转化为Double类型,因此,如果实体类与这两种类型不同,则需要再做处理。在工作中,需要处理大量的表格数据,而且我并没有找到能够一键转换的工具,于是自己写了一个转化工具函数。以下的代码是基于Hutool工具中的Excel工具实现的,因此需要先导入Hutool包,可以按需导入,希望本篇文章能帮助大家解决一下问题。具体参考Hutool官网。

2024-04-24 12:00:52 202

原创 命令模式解决快捷键问题

菜单项的主要方法是click(),每一个菜单项包含一个抽象命令类,具体命令类包括OpenCommand(打开命令),CreateCommand(新建命令),EditCommand(编辑命令)等,命令类具有一个execute()方法,用于调用公告板系统界面类(BoardScreen)的open()、create()、edit()等方法。功能键:ctrl已添加,对应功能打开功能。功能键:edit已添加,对应功能编辑功能。功能键:ins已添加,对应功能创建功能。功能键:del已添加,对应功能删除。

2024-04-18 09:11:01 213

原创 命令模式实现简易计算器

Sunny软件公司欲开发一个简易计算器,该计算器可以实现简单的数学运算,还可以对运算实施撤销操作。修改简易计算器源代码,使之能够实现多次撤销(Undo)和恢复(Redo)。执行运算,运算结果为:10。执行运算,运算结果为:15。执行运算,运算结果为:25。执行撤销,运算结果为:15。执行撤销,运算结果为:10。执行恢复,运算结果为:10。执行恢复,运算结果为:15。执行恢复,运算结果为:25。执行恢复,运算结果为:25。执行恢复,运算结果为:25。执行撤销,运算结果为:0。执行撤销,运算结果为:0。

2024-04-17 16:07:06 204

原创 职责链模式解决请假审批问题

Sunny软件公司的OA系统需要提供一个假条审批模块:如果员工请假天数小于3天,主任可以审批该假条;如果员工请假天数大于等于3天,小于10天,经理可以审批;如果员工请假天数大于等于10天,小于30天,总经理可以审批;如果超过30天,总经理也不能审批,提示相应的拒绝信息。试用职责链模式设计该假条审批模块。通过使用职责链设计模式解决请假问题,spring的请求过滤器也是采用类似设计。

2024-04-17 14:57:14 129

原创 代理模式的实现

通过代理类实现了对查询方法权限的校验和日志的保存

2024-04-17 11:57:15 91

原创 外观模式实现功能的封装

某软件公司欲开发一个可应用于多个软件的文件加密模块,该模块可以对文件中的数据进行加密并将加密之后的数据存储在一个新文件中,具体的流程包括三个部分,分别是读取源文件、加密、保存加密之后的文件,其中,读取文件和保存文件使用流来实现,加密操作通过求模运算实现。这三个操作相对独立,为了实现代码的独立重用,让设计更符合单一职责原则,这三个操作的业务代码封装在三个不同的类中。现使用外观模式设计该文件加密模块。* @author 李亚杰。

2024-04-17 09:37:10 265

原创 装饰模式实现密码多次加密

Sunny软件公司欲开发了一个数据加密模块,可以对字符串进行加密。最简单的加密算法通过对字母进行移位来实现,同时还提供了稍复杂的逆向输出加密,还提供了更为高级的求模加密。用户先使用最简单的加密算法对字符串进行加密,如果觉得还不够可以对加密之后的结果使用其他加密算法进行二次加密,当然也可以进行第三次加密。试使用装饰模式设计该多重加密系统。通过装饰类,实现了对文本的多次加密,并且能够通过选择不同的加密方式实现加密,新增加密方法时,只需要继承抽象修饰类并且重写加密方法即可,方便拓展。

2024-04-16 17:18:26 249 1

原创 使用cglib动态代理实现前置通知与后置通知

也可以通过将函数式接口改为Function的方式实现前置拦截。

2024-04-12 14:52:49 99

原创 自定义注解实现加注解的字段不被序列化和序列化

实现了自定义注解使对象属性不被序列化和反序列化

2024-04-11 17:22:15 227

原创 java阻塞队列的实现

java使用双向链表实现阻塞队列

2024-04-10 10:19:18 89 1

原创 SpringBoot多线程无法实现原因

解决springboot多线程调用失败问题

2024-03-12 13:44:37 339 1

原创 python下载哔哩哔哩视频

通过使用you-get模块来实现对哔哩哔哩视频的下载

2023-08-10 18:37:59 501 1

原创 Python实现下载视频

需要注意的是,配置完成后,应在命令行中输入ffmpeg -version命令检测是否配置成功,有些电脑的python编译器可能无法立即检测到环境变量是否配置,重启之后即可解决。因为拼接过程中需要使用到ffmpeg软件,所以要在系统中进行环境变量的配置,具体参考如下。我爬取的是茶杯狐网站的视频,视频为m3u8格式,需要下载多个小片段最后再进行拼接。并且设置了如果30秒没有下载任何文件,则直接停止下载,并将已下载好的视频拼接完成,而且,这个网站可能会比较卡,所以建议线程开的少一点,代码中同时开了100个线程,

2023-08-10 14:15:09 875 1

原创 利用viewpager+fragment实现轮播图 安卓开发

利用Viewpager+fragment实现轮播图

2022-11-09 13:31:52 920

原创 解决InputMismatchException数据输入异常问题

public static void login() { while (true) { Menus.main_menu(); System.out.println("请选择您的身份或者操作"); try { switch (sc.nextInt()) { case 1:student_login();break; ...

2022-05-18 00:00:43 2984

原创 Can not issue SELECT via executeUpdate() or executeLargeUpdate().解决方法

在idea连接完成数据库之后,在java源程序中使用sql语句如果显示SQLException,可能是mysql-connector-java.jar文件在项目中不存在,只需将这个文件导入即可,选择项目结构选择模块里面的依赖 +号导入jre选择mysql-connector-java.jar文件点击确定即可at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) a...

2022-05-11 13:18:41 4291

原创 力扣25. K 个一组翻转链表

给你链表的头节点head,每k个节点一组进行翻转,请你返回修改后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。力扣25https://leetcode-cn.com/problems/reverse-nodes-in-k-group/思路:首先,需要创建一个查找节点的函数,用来查找链表中的第k个值;例如 1-2-3-4-5 假设给定的...

2022-05-02 22:52:28 648

原创 16. 最接近的三数之和

给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在恰好一个解。力扣16题https://leetcode-cn.com/problems/3sum-closest这道题的思路与三数之和较为相似,可以通过固定一个数,移动两个数的方式来解决,需要注意的是指针的移动方式,如果三个数之和比target小,就需要向右移动增大三个数的和,反之则应该减小三个数·的和。cla

2022-04-29 21:13:30 154

原创 力扣15题三数之和

给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。力扣15题https://leetcode-cn.com/problems/3sum 这道题的思路是:1.讲数组排好序后,数组中最大的元素在最后,因为a+b+c=0,所以可以固定一个变量,让让另外两个变量移动。2.选择第一个元素作为定量,让第二个元素从x+1的位置开始,让第三个元素从最后开始...

2022-04-29 12:18:56 79

原创 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。力扣https://leetcode-cn.com/problems/longest-common-prefix/ 这道题的思路是: 1.公共子串是每个字符串都含有的; 2.选取第一个字符串转化为char类型的数组,每次从其他数组中取出第j个位置的元素与第一个数组的第j个位置的元素进行对比,如果不相同,就返回第一个数组从0到j位置的...

2022-04-28 21:22:53 34

原创 整数转罗马数字

罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+II。通常...

2022-04-28 20:31:07 56

原创 盛最多水的容器

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/container-with-most-water对于这道题,最简单的方法就是暴力,双重...

2022-04-28 19:44:52 36

原创 回文数判断

class Solution { public boolean isPalindrome(int x) { if (x<0) return false; int a=0; int i=0; int b=x; while (x!=0){ a=x%10; x=x/10; i=i*10+a; } if (b==i).

2022-04-26 21:23:59 33

原创 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。

// 读入字符串并丢弃无用的前导空格// 检查下一个字符(假设还未到字符末尾)为正还是负号,// 读取该字符(如果有)。 确定最终结果是负数还是正数。// 如果两者都不存在,则假定结果为正。// 读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。// 字符串的其余部分将被忽略。// 将前面步骤读入的这些数字转换为整数// (即,"123" -> 123, "0032".

2022-04-26 20:53:06 1864

原创 6. Z 字形变换将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。

//使用二维数组存储数据,然后合并各个数组,再将合并后数组的空白符号删除,但是时间复杂度较高class Solution { public String convert(String s, int numRows) { if (numRows==1) return s; char[][] a=new char[numRows][1000]; int j=0; int k=0; int flag =0;.

2022-04-25 20:15:43 662

原创 数据结构实践----财大导游图

河南财经政法大学数据结构实践--财大导游图

2022-01-08 17:29:51 994 3

空空如也

空空如也

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

TA关注的人

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