自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不会飞的王

生活明朗,万物可期

  • 博客(45)
  • 收藏
  • 关注

原创 浅谈Java的异常处理机制

Java的异常处理今天来聊一下Java的异常处理机制,因为我也是初学者,并没有理解的那么深刻,所以有什么错误的话,还请多多指教。我将用五部分来解释我所理解的Java异常。一、异常是怎么出现的public class Test { public static void main(String[] args) { //写一个会报错的语句 String str = null; Sys...

2020-03-07 17:09:01 1282

原创 汽水瓶

题目有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?输入描述输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=100),表示小

2021-03-19 10:55:04 157

原创 剑指 Offer 11. 旋转数组的最小数字

题目把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。自己的想法我寻思这不就是求最小值吗?class Solution { public int minArray(int[] numbers) { int min = numbers[0]; for(int i = 0;i<nu

2021-01-30 17:54:31 131

原创 剑指 Offer 10- II. 青蛙跳台阶问题

题目一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。看题解后class Solution { public int numWays(int n) { if(n==0||n==1){ return 1; } // 两个变量表示前两项 int pre =

2021-01-30 15:03:52 292

原创 剑指 Offer 10- I. 斐波那契数列

题目写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例输入:n = 2输出:1示例输入:n = 5输出:5自己看解题

2021-01-30 14:35:11 97

原创 图书管理项目【01】

前言:看着狂神ssm整合的小案例,自己搭建成功后,又加了些小功能,索性就自己慢慢实现一个图书管理的小项目。- NO1:搭建ssm整体框架。1、创建maven项目什么都不用选,直接下一步创建完成后,右键项目名,选择第二个,添加web支持2、pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x.

2021-01-28 21:27:39 115

原创 剑指 Offer 09. 用两个栈实现队列

题目用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例1输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-1]示例2输入:["CQueue","deleteHead","appendTail","

2021-01-27 21:38:04 71

原创 剑指 Offer 07. 重建二叉树

题目输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。示例例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7自己的想法哎,不是很会,先留着这个坑,之后再来补~...

2021-01-27 20:49:05 119 2

原创 剑指 Offer 06. 从尾到头打印链表

题目输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例输入:head = [1,3,2]输出:[2,3,1]自己的想法就是先得到数组的长度,之后从链表的前面给数组的后面赋值/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } *

2021-01-27 15:07:21 76

原创 剑指 Offer 05. 替换空格

题目请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例输入:s = “We are happy.”输出:“We%20are%20happy.”自己的想法Java中有替换字符的方法:replace("char oldChar","char newChar")class Solution { public String replaceSpace(String s) { String news = s.replace(" ","%20");

2021-01-24 20:14:56 79

原创 剑指 Offer 04. 二维数组中的查找

题目在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例现有矩阵 matrix 如下:自己的想法就是直接二重for循环遍历,本来想着,可能也会因为复杂度太大可能会不太行,但是没想到竟然通过了?奇妙~class Solution { public boolean findNumberIn2DArray(int[][] matrix, in

2021-01-23 23:11:33 73

原创 剑指 Offer 03. 数组中重复的数字

题目找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3自己的想法class Solution { public int findRepeatNumber(int[] nums) { //定义标志 boolean flag

2021-01-23 22:57:01 110

原创 运行springboot_jar包

1、找到打jar包的位置2、按住shift+鼠标右键空白处3、输入命令java -jar .\jar包名字.jar运行成功~

2021-01-23 10:01:39 74

原创 fastjsonJava对象转JSON对象发现有空值

在写教务排课系统的时候,发现在Servlet中可以取到Java对象,里面也有内容,但是在转成json对象的时候就是空。但是在控制台显示的时候,还知道是有两个数据的原来是因为我在写实体类的时候结果就是改实体类的名字了,太心酸了。记录一下吧,哈哈哈哈。...

2020-11-30 21:14:19 908

原创 ‘Starting Tomcat v9.0 Server at localhost‘ has encountered a problem.

Server Tomcat v9.0 Server at localhost failed to start.查看自己的servlet的注解@WebServlet("*.user")是不是有一样的,我的是这两个servlet的解析地址是一样的,所以Tomcat会启动不起来。看了这篇博客后,看了评论发现自己的问题在哪里了,所以记录一下子...

2020-11-18 19:20:38 1615

原创 【6】顺时针打印矩阵

题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.解题思路对于每一次循环都可以看做是从左到右、从上到下、从右到左、从下到上各一遍,而每次循环的开始的时候,行标和列标都是相同的,所以循环的条件是col>2*i&&row>2*i代码实现imp

2020-10-09 15:53:04 61

原创 【5】把数组排成最小的数

题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。解题思路定义一个比较大小的函数,num1+num2与num2+num1比较大小,若num1>num2,则说明num2要放在num1前面,所以要有一个交换。代码实现import java.util.ArrayList;public class Solution { public String

2020-09-29 09:41:46 66

原创 【4】二维数组中的查找

题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路1(简易想法)时间复杂度为O(n2),基本思路就是对于每一行每一列都进行查找对比。实现代码public class Solution { public boolean Find(int target, int [][] array) { for(int i=0;i&

2020-09-27 14:55:34 63

原创 【3】栈的压入、弹出序列

题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)解题思路1、定义两个数组下标 i,j,下标 i 指向pushA第一个位置,下标 j 指向popA第一个位置2、若pushA[i]==popA[j],下标都后移一位,然后检查popA[j]与

2020-09-05 15:11:36 83

原创 【2】包含min函数的栈

题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。解题思路1、首先定义两个数据栈 stack 和 min ,其中stack用于存放所有的数据,min用于存放每次push的最小值。2、push函数:直接push进stack栈,而min栈,若是空栈直接push,若不是空栈,判断push的数据与min栈的栈顶元素谁小,放入小的那个元素。3、pop函数:每次pop的时候,两个数据栈都要pop出元素,以确保min栈顶的最小值存在于stack栈

2020-09-05 10:17:44 83

原创 【1】用两个栈实现队列

题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。解题思路1、先要明白两件事情:栈【先进后出】,队列【先进先出】2、定义两个栈,stack1只负责进栈,stack2只负责出栈。3、每当数据进队列,就让他们先进入stack1中,4、而当数据出队列,就让他们先从stack1中pop出到stack2中,之后由stack2 pop出最后的数据。import java.util.Stack;public class Solution { St

2020-09-04 20:51:25 101

原创 CSS高级技巧之字体图标的追加

1、点击iconmoon app2、选择导入文件3、追加完成之后,生成字体文件,之后做法与之前一样https://blog.csdn.net/weixin_44392084/article/details/107844599参考文章

2020-08-06 18:07:07 340

原创 CSS高级技巧之字体图标的使用

目录一、推荐字体图标的网址二、下载字体图标以icomoon为例打开之后是这样之后就可以看见各种各样的图标了,选择你想要的如果划到最后,没有你想要的,可以点击下面的add icons from library进行添加添加你想要的选择完之后,选择生成字体图标下载得到zip解压后文件列表如下至此下载字体图标完成!!!三、使用字体图标1、文件列表下的fonts文件夹,复制到页面的同级目录下2、用记事本打开style.css文件3、复制选中部分4、打开文件列表下的demo.html,界面如下,复制你想使用的图标后面的

2020-08-06 17:51:37 470

原创 纯HTML实现百度搜索功能

代码 <img src="baidu.gif" width="300px"/> <form action="https://www.baidu.com/s"> <input type="text" name="wd" style="height: 35px;width: 600px;padding-left:10px;border-radius: 10px;outline: none;border-col

2020-07-10 14:50:21 3966 1

原创 JAVA实现贪心算法解决背包问题

9、实验八贪心算法解决背包问题实验内容使用重量贪心、价值贪心和价值密度贪心三种贪心准则,求解背包问题。本次实验,自行设计输入提示、输入数据形式、结果输出样式,需要认真思考,都需要用户输入哪些基本数据、最终需要显示哪些结果信息,才能使用户根据结果提示,正确完成物品的全部存放过程。(本次实验报告批改时,这些都作为采分点)解题思路重量贪心:从剩下的物品中,选出可装入背包的重量最小的物品。价值贪心:从剩下的物品中,选出可装入背包的价值最大的物品。价值密度贪心:从剩下的物品中,选出可装入背包的值最

2020-06-26 21:45:57 5644 1

原创 JAVA实现活动安排

8、实验七活动安排实验内容设有n个活动的集合E={1, 2, … n}, 其中每个活动都要求使用同一资源且在同一时间内只有一个活动能使用这一资源。要求根据下述两种贪心准则,给出活动集合中最大的相容活动子集合。(1)使用“将结束时间早的活动尽量先排”作为贪心准则。 (2)使用“将最少占用时间的活动尽量先排”作为贪心准则。解题思路将活动按照结束时间进行从小到大排序。然后用i代表第i个活动,s[i]代表第i个活动开始时间,f[i]代表第i个活动的结束时间。按照从小到大排序,挑选出结束时间尽量早

2020-06-26 21:41:45 1222

原创 JAVA实现电路布线问题

7、实验六电路布线问题实验内容内容:在一块电路板的上、下两端分别有n个接线柱。根据电路设计,要求用导线(i,a(i))将上端接线柱与下端接线柱相连,其中a(i)表示上端点i对应的下端点的值,如图所示。题目要求是在给定的连线中,选取不相交连线的最大子集,即不相交连线的最大数目。并把最大不相交子集的情况给列举处理解题思路在制作电路板时,要求将这n条连线分布到若干绝缘层上。在同一层上的连线不相交。电路布线问题要确定将哪些连线安排在第一层上,使得该层上有尽可能多的连线。换句话说,该问题要求确定导线

2020-06-26 21:35:39 1832 1

原创 JAVA实现0-1背包问题

6、实验五0-1背包问题实验内容内容:给定n种物品和一个背包,物品i价值wi和重量vi已知,确定装入背包的物品方案,使得包内物品总价值最大。解题思路原则:面对每个物品,只有选择拿与不拿两种选择,不能够选择装入物品的一部分,也不能装入同一物品多次。解决方法:声明一个二维数组F[N + 1 , V + 1] ,F[i][v] 表示前i件物品恰放入一个容量恰为v的背包可以获得的最大价值。通过分析可得出F[i , v]的计算方法,1)当 v < W[i] 时,说明背包容量不足以放下第i件物品

2020-06-26 21:32:43 1104

原创 JAVA实现多边形游戏

5、实验四多边形游戏实验内容按照要求输入多边形的边和顶点,游戏第一步: 删除一条边, 随后的n-1步按以下方式操作:1)选择一条边E以及由E连接着的2个顶点v1和v22)用一个新的顶点取代边E以及由E连着的2个顶点v1和v2。将由顶点v1和v2的整数值通过边E上的运算得到的结果赋予新顶点。直到最后,所有边被删除,确认使结果达到最大值的删除方式和最大值。解题思路通过所给的多边形,从顶点i(1<=i<=n)开始,长度为j(链中有j个顶点)的顺时针链p(i,j)可表示为v[i],op

2020-06-26 21:26:59 1179

原创 MySQL判断日期小于当前日期

代码SELECT * FROM book WHERE returnDate<CURDATE();

2020-06-26 19:18:45 8976 2

原创 JAVA实现最长公共子序列

4、实验三最长公共子序列实验内容输入两个相同类型的序列,用动态规划方法计算他们的最长公共子序列的长度以及序列。解题思路1、先用一个二维数组存储最长公共子序列的长度,还要记录每个值的状态2、根据记录值的状态,递归回溯求出最长公共子序列3、递归方程是: 源代码package c最长公共子序列;import java.util.Scanner;/** * @author Draco * @see 最长公共子序列(Longest common subsequence) * @v

2020-06-24 22:46:31 2818

原创 JAVA实现矩阵连乘

2、实验二矩阵连乘实验内容n个矩阵连乘,不满足交换律,但是满足结合律,通过不同的加括号方式,会使得需要的乘法次数不同。用动态规划方法计算,找出最优加括号方式,使总的乘法次数最少。解题思路将矩阵连乘积Ai Ai +1 … Aj简记为A[i:j],这里i≤j。考察计算A[i:j]的最优计算次序。设这个计算次序在矩阵Ak和Ak+1之间将矩阵链断开,i≤k<j,则其相应完全加括号方式为(Ai Ai +1…Ak)(Ak+1 Ak+2… Aj)。计算量:A[i:k]的计算量加上A[k+1:j]的

2020-06-24 22:34:34 2759

原创 JAVA实现棋盘覆盖

2、实验一棋盘覆盖实验内容输入特殊方格的位置以及棋盘大小(2k个方格即输入k),用分治法实现L型骨牌覆盖磁盘问题,计算结果显示棋盘骨牌覆盖情况(用数字表示)解题思路1、采用分治法解决该问题,分治法是将一个规模很大的问题分解为多个规模较小,且类似的子问题,然后递归地解决所有子问题,最后再由子问题的解决得到原问题的解决。2、将2k×2k棋盘分割为4个相等的子棋盘。特殊方格必位于4个较小子棋盘之一中,其余3个子棋盘中无特殊方格。为了将这3个无特殊方格的子棋盘转化为特殊棋盘,可以用一个L型骨牌覆盖这

2020-06-24 22:27:06 2211

原创 算法分析与设计选修课心得

1、开篇转眼间大二下已经过去了,因为疫情的原因,整个大二下都是在家里上完的,学成什么自己心里也清楚,上课理论是听的差不多,但是一到要准备敲代码的时候,自己就不知道要从哪里入手,以至于实验课的代码每次都是先在网上找,找到之后,自己再理解理解,之后根据老师的截图要求,自己做出修改。就这样浑浑噩噩的渡过了我的大二下的学习生涯。但是老师也是真的很认真负责,而且我最佩服的是她什么都懂,什么都理解的很透彻,也能给我们讲的很明白。我是知道算法分析与设计这门课会很枯燥很乏味,但是在选课的时候,发现是这个老师教的,我还

2020-06-24 22:08:52 824

原创 Java Swing 获取下拉框中的值

//定义下拉框组件JComboBox<String> cmb = new JComboBox<String>();//添加内容cmb.addItem("北京");cmb.addItem("上海");cmb.addItem("广州");cmb.addItem("深圳");//获取内容String city = cmb.getSelectedItem().toString();System.out.println(city);结果:点击按钮,触发事件.

2020-05-23 09:02:42 10691 1

原创 matlab2012a窗口恢复

首先整个matlab是这样的依次选择这样就好了

2020-04-09 11:53:00 1562

原创 递归来打印目录结构【有层次】

话不多说直接上代码package 检索文件;import java.io.File;/** * @author Draco * @see 递归来打印目录树 * @version * @date-time 2020-03-26 - 下午9:06:07 */public class Test { public static void main(String[] args) ...

2020-03-26 21:44:12 126

原创 一分钟带你了解类的初始化

一、首先来看看类的构成 写主方法 作用:运行(可选的) 成员变量 作用:公共资源(可选的) 普通方法 作用:公共资源(可选的) 局部变量 作用:辅助运算(可选的) 构造方法 作用:new对象(必须的且默认存在) 内部类 (可选的) 匿名内部类 (可选的) 静态代码块 (可选的)(拥有最高的优先级)...

2020-03-19 18:40:55 3156

原创 MySQL中JDBC的预处理(防止sql语句的注入问题)

首先来看一下未经预处理的小程序,这个小程序是注册和登录功能,静态的sql 语句,语法不确定性,通过 stmt 执行【Statement stmt 创建】,但这样的话可能会给懂的一些语言的人轻松破解你账户的机会,所以MySQL为了防止这种方式的发生,提供了一种预处理的机制PreparedStatement pstmtpackage 未预处理的结果;import java.sql.Conne...

2020-03-17 19:48:36 649

原创 JS用户名不合法的两种提示方法【最常用的】

校验规则是:用户名只能有字母,数字,下划线组成,而且长度是5~12第一种 方式:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-s...

2020-03-14 11:59:46 501

空空如也

空空如也

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

TA关注的人

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