- 博客(30)
- 收藏
- 关注
原创 idea中修改git的用户名
4 git config --global user.name '新改用户名'IDEA中Git提交用户名默认为当前系统用户时,可按如下方法自行修改.在终端(windows下cmd/powershell)中进行相应操作。1 # 获取当前的用户名。
2023-10-30 14:28:11 1839
原创 Scanner中sc.next()和sc.nextLine()的区别
当我们使用 sc.nextLine() ,我们此时是按行接收的,会接收到一整行的输入。—— next() 从遇到第一个有效字符开始扫描,遇到第一个空格或换行符结束。显然,当我们使用 sc.next() ,在输入中有空格的时候,会结束输入接收。—— nextLine() 则是扫描剩下的所有字符串知道遇到回车为止。
2023-10-23 22:46:10 444
原创 10、华为OD机试算法题——输入整型数组和排序标识
2. Collections.reverse(list) 将list中值的顺序反转。1. Collections.sort(list) 方法,将list排序;
2023-09-07 18:29:37 101
原创 9、华为OD机试算法题——整数与IP地址间的转换
1. 这种进制转换我们只需要记住XXXX.parseXXXX(string, "进制数") 方法就行了,这个方法可以将其他进制的数字转化为十进制,Integer 和 Long 中的 toBinaryString 方法都可以将其参数转化为二进制数字;2. 然后最后一个 String.join() 方法,在数组中添加所给元素。
2023-09-07 18:17:41 96
原创 8、华为OD机试算法题——删除字符串中出现次数最少的字符
2. Map.getOrDefault(Object key, V defaultValue) 方法中,key 表示获取 map 中 key 对应的 value ,如果对应的值为空,则获取默认值 defaultValue;3. map.values() 方法将 map 中的所有 value 变成一个集合,然后使用 Collections 中的 min 方法,获取最小值,再根据这个最小值去删除对应字符。
2023-09-07 17:29:08 62
原创 7、华为OD机试算法题——密码验证合格程序
2. 然后我们创建 getMatch(String str) 方法,创建四个flag标识符,用来标注字符串中是否含有数字、大小写字母、其他符号,因为我们上面已经判断过是否有空格了,所以这里直接使用非大小写字母、数字的正则就行了;3. 创建 getString(String str, int l, int r) 方法判断是否有重复字符串,因为题中说到:不能有长度大于 2 的包含公共元素的子串重复。1. 首先我们判断密码长度,后面说不能包含空格,这里可以一同判断了;
2023-09-06 20:09:21 116 1
原创 6、华为OD机试算法题——坐标移动
2. 遍历所有操作字符串s,使用正则表达式判断 s 是否有效;1. 首先将输入字符串切分开,获得单个的每一步操作字符串;3. 根据wasd判断操作方向;
2023-09-06 19:19:59 156 1
原创 5、华为OD机试算法题——跳台阶
所以f[n] = f[n-1] + f[n-2]. 那么初始条件了,f[0] = f[1] = 1。所以就变成了:f[n] = f[n-1] + f[n-2], 初始值f[0]=1, f[1]=1,目标求f[n] 看到公式很亲切,代码秒秒钟写完。如果我从第n个台阶进行下台阶,下一步有2中可能,一种走到第 n-1 个台阶,一种是走到第 n-2个 台阶。通过图会发现,上述方法中,存在很多重复计算,因为为了改进,就把计算过的保存下来。此代码优点,代码简单好写,缺点:慢,会超时。
2023-09-02 20:34:44 127
原创 4、华为OD机试算法题——字符个数统计
此方法是Collections类中的方法,参数c是要将元素储存到的集合,elements参数是所要存入集合的参数。1. 大家所熟悉的Set的特性就是无序、不可重复,而Set中的TreeSet,就是有序不可重复的,所以我们直接选用TreeSet处理此题,答案也就迎刃而解;
2023-09-02 19:56:38 85
原创 3、华为OD机试算法题——明明的随机数
1. 大家所熟悉的Set的特性就是无序、不可重复,而Set中的TreeSet,就是有序不可重复的,所以我们直接选用TreeSet处理此题,答案也就迎刃而解;2. 直接获取所输入参数的个数,将值存入TreeSet中就行了。
2023-09-02 19:44:04 103
原创 2、华为OD机试算法题——两数之和
2. 在HashMap中,我们可以使用key-value的形式直接记录数组中当前数以及当前数的下标,所以使用HashMap来储存比使用二维数组要方便很多,因为最后我们要获取的是目标值的下标,遂将其下标作为value;3. 先便利目标数组,然后对当前值进行判断,若与当前值相加得目标值的数不在我们的map中,则在map中加入当前值;4. 题目的示例中说了返回数组中的数字要排序,所以使用 Arrays.sort(arr) 方法进行排序再返回。1. 题目说找出两个数,所以先创建一个长度为2的arr数组;
2023-09-02 19:24:59 98
原创 1、华为OD机试算法题——进制转换
Integer.parseInt(String s, int radix)方法可以将字符串转换为10进制的Integer类型对象,radix参数则是指给定字符串的对应进制。
2023-09-02 18:44:57 181
原创 自定义注解
注解是一种能被添加到java源代码中的元数据,方法、类、参数和包都可以用注解来修饰。注解可以看作是一种特殊的标记,可以用在方法、类、参数和包上,程序在编译或者运行时可以检测到这些标记而进行一些特殊的处理。在此,我们定义一个确认加上该注解的属性或参数是否为正确手机号格式。在这个注解中加上 @Constraint 注解以后,他会根据 validateBy 值中的类 IsMobileValidator 去做校验。String message() default "手机号码格式错误";Class
2023-07-26 10:17:23 595 3
原创 手把手教你使用idea搭建android环境
点击Edit会出现这个界面,找到自己的SDK的路径,然后一直点击Next,他会自动下载一些组件之类的东西,这里需要稍微等待一下。此时不要慌,点击Open SDK Manager,此时跳到这样一个画面,去设置我们本地的SDK路径。注意要将解压后的压缩包放在没有中文的路径下,以后不管下载什么,最好养成这个习惯。在配置完成SDK之后,我们可以新建一个项目,选择新建Android项目,等下载完成之后,再回到这里就可以正常添加了。2、如图所示配置好JDK以后,再下载SDK。选择好自己设置的sdk路径,点击完成即可。
2023-07-20 10:46:13 7404 3
原创 AOP注解@Aspect使用详情
面向切面编程是将程序抽象成各个切面,即解剖对象的内部,将那些影响了多个类的公共行为抽取到一个可重用模块里,减少系统的重复代码,降低模块间的耦合度,增强代码的可操作性和可维护性。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处都基本相似。方法中的参数JoinPoint为连接点对象,它可以获取当前切入方法的参数,代理类等信息,因此可以记录和验证一些信息;切点定义一般有两种方法,一种是自定义注解引用,另一种是使用execution()方法标示切点位置。@After 在切点方法之后执行。
2023-07-19 10:40:49 375
原创 从数据库读取数据后使用EasyExcel将数据填充进excle模板中,再上传到minIO
先将数据从数据库读取出来,我们这里使用的是map根据每条线路的不同,分多个sheet去填充数据的,resolveDbDataToExcelDataUtils类中就是处理数据库数据到excel填充实体类之间的一个转换,如果你数据库里的字段和excel填充实体类中的一致,那也可以不用写,我这里是需要做一个转换的。在很多时候我们都会碰到关于文件上传和下载的问题,本项目中我们使用的是minIO。在此之前我们需先导入这两个依赖,hutool是给后面做压缩文件下载准备的。下载文件,压缩,并响应。
2023-07-13 14:27:59 1304 1
原创 下载文件时报错:Could not find acceptable representation
因项目规定接口统一要有返回值,将@RestController改为@Controller就可以了,下载文件可以成功,不会报错。同样接口也可以向请求方返回json结构。原因:因下载方式用的输出流方式,但下载接口设定了返回值类型。第一种方式就是将此文件下载方法修改为没有返回值。结果就不报错了,文件也成功下载了。
2023-07-13 13:58:50 839 1
原创 MinIO的上传和下载
我们经常接触到的关于minio的上传下载都是在项目中导入minio依赖,然后给配置一个MinioConfig,配置minio服务的地址账号密码等,如下图。
2023-07-07 14:21:29 3681 1
原创 @EnableFeignClients和@FeignClient 使用详情
EnableFeignClients注解中的basePackges属性中是一个数组,可以填写多个值,其主要作用是指定当前模块中需要用到那些地址下的feign接口,起到一个discovery发现feign接口的作用。path:意思和controller层中@RequestMapping注解中的value属性类似,为该类中的访问地址添加地址前缀。2.使用@FeignClient注解,定义feign客户端,使当前类中的feign接口能被发现。value:其值为该服务在nacos中定义的服务名称。
2023-07-07 11:36:39 4513 1
原创 @Accessors 注解详解
在大家的实际工作中,有时候可能会看到@Accessors(chain = true) 这样的注解,他是 Lombok 插件包中的一个注解。我们打开 @Accessors 的源码可以看到:(1)该注解主要作用是:当属性字段在生成 getter 和 setter 方法时,做一些相关的设置。(2)当它作用于类上时,修饰类中所有字段,当作用于具体字段时,只对该字段有效。该注解中共有三个属性,分别是 fluent,chain,prefix,下面我们分别来说明下。
2023-06-27 13:55:38 192
原创 mybatis-plus的TenantLineInnerInterceptor插件使用
通过使用多租户技术可以保证系统共性的部分被共享,个性的部分被单独隔离。多租户技术的实现重点,在于不同租户间应用程序环境的隔离(application context isolation)以及数据的隔离(data isolation),以维持不同租户间应用程序不会相互干扰,同时数据的保密性也够强。多租户技术(英语:multi-tenancy technology)或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。
2023-06-27 13:22:44 2604
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人