- 博客(104)
- 资源 (6)
- 收藏
- 关注
原创 博客停止更新,转移至开源中国
开源中国博客地址 == 》 【开源中国--博客地址】https://my.oschina.net/wangmengjun/ 因为比较喜欢,开源中国博客的导航,如
2017-05-24 10:13:43
341
原创 将日期格式设置成当天最小和最大值
本文给出一个将日期格式设置成当天最小和最大值的例子。这个在如下的场景可以用到。 商品上下架场景: 前台选择日期的时候一般按照年月日来选择,假设这些商品需要在指定当天上架或者下架,我们一般都会写一个JOB来实现这些商品自动上下架过程。这个时候,商品上架的日期可以设置成当天最小值,而商品下架的日期可以使用当天的最大值。 下面我们就来简单完成这个功能。注:如下使用的DateUt...
2016-07-13 07:18:13
1546
原创 getDispatcherType() is undefined for the type HttpServletRequest
使用maven创建web工程,服务器选择了Tomcat 8,而servlet的版本采用的是2.5. <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5&l...
2016-07-13 07:05:10
350
原创 工厂类中移除if/else语句
面向对象语言的一个强大的特性是多态,它可以用来在代码中移除if/else语句或者switch-case语句块。没有条件的代码很容易阅读,但有些地方你不得不添加if/else代码块,比如工厂类。 相信你曾经看到过某个工厂类中的if/else变得越来越多。在这篇博文中,将共享几个可以在工厂类中移除if/else语句的方法: 会以下面的代码片段为例: public stati...
2016-07-10 19:52:40
231
Java编程练手100题
本文给出100道Java编程练手的程序。列表如下:面试编程写一个程序,去除有序数组中的重复数字编写一个程序使得两个线程陷入死锁使用递归算法反转字符串合并两个有序数组找出三个有序数组共有的元素字符(字母、数字、中文字符)统计示例最短时间过桥从一个整数数组中找出总和为S的所有子集5个钢珠离开凹轨的最短时间和最长时间1到50个数,每次去掉两个数,增加...
2014-12-11 17:13:29
693
1
数组复制的三种方法
本文将给出三种实现数组复制的方法 (以复制整数数组为例)。方法一 : 循环遍历赋值达到复制数组的效果帮助 /** * 循环遍历赋值达到复制数组的效果 */public static int[] copy1(int[] source) { int len = source.length; int[] resu...
2014-11-30 12:57:30
1475
四种复制文件的方法
尽管Java提供了一个类ava.io.File用于文件的操作,但是该类不包括文件的复制操作。但是,复制文件是平时文件操作中一个重要的功能,本文给出四种比较流行的文件复制方法。1. 使用FileStreamprivate static void copyFileUsingFileStreams(File source, File dest) throws IOException { ...
2014-11-29 13:21:32
564
判断一个字符串中的字符是否都只出现一次
本篇博文将给大家带来几个判断一个字符串中的字符是否都只出现一次的方法。方法一:首先将字符串转换成字符数组(char[]), 循环迭代char数组,对于每一个字符c,如果其第一次出现的索引和最后一个出现的索引是不一样的,那么我们可以认为该元素出现多次。public static boolean isUniqueChars(String str) { char[] chars ...
2014-11-25 12:58:08
944
使用正则表达式判断一个数是否为素数
正则表达式能够用于判断一个数是否为素数,这个以前完全没有想过。本文将给出一个使用正则判断素数的方法,该正则表达式来源于网页http://stackoverflow.com/questions/2795065/how-to-determine-if-a-number-is-a-prime-with-regex正则表达式为.{0,1}|(.{2,})\\1+正则含义.{0,1} ...
2014-11-23 13:35:06
275
几个可以用英文单词表达的正则表达式
本文,我们将来看一下几个可以用英文单词表达的正则表达式。这些可以使用的英文关键词,可以在类java.util.regex.Pattern找到,如下:帮助public final class Patternimplements java.io.Serializable{ // Posix regular expression character cl...
2014-11-21 13:12:15
1840
(广度优先搜索)打印所有可能的括号组合
问题:给定一个正整n,作为括号的对数,输出所有括号可能的组合,如n=2(())()()n = 3的情况((()))(()())(())()()(())()()()在之前的一篇文章中,我们采用了深度优先搜索的方式实现:(深度优先搜索)打印所有可能的括号组合本博文中,我们将给出采用广度优先搜索的方式实现,程序如下:public class...
2014-11-20 11:58:18
217
随机产生由特殊字符,大小写字母以及数字组成的字符串,且每种字符都至少出现一次...
题目:随机产生字符串,字符串中的字符只能由特殊字符 (!@#$%), 大写字母(A-Z),小写字母(a-z)以及数字(0-9)组成,且每种字符至少出现一次。这样产生字符串的方式可以应用到如下场景,比如,我们有一个应用就是添加用户完毕之后,发邮件给指定用户包括一个长度为11位的初始化密码。1. 我们先来定义一个包含这四种字符类型的char数组 private stat...
2014-11-19 14:48:06
899
找出1到n缺失的一个数
题目:Problem description: You have an array A of size n – 1 containing numbers from 1 to n so there is one missing number, find it! 本文给出解决上述问题的两个方法。方法一:求和然后相减在这个方法中,首先求出1到n的和,可以使用数学公式int total...
2014-11-18 12:57:35
693
EnumSet的几个例子
EnumSet 是一个与枚举类型一起使用的专用 Set 实现。枚举set中所有元素都必须来自单个枚举类型(即必须是同类型,且该类型是Enum的子类)。 枚举类型在创建 set 时显式或隐式地指定。枚举 set 在内部表示为位向量。 此表示形式非常紧凑且高效。此类的空间和时间性能应该很好,足以用作传统上基于 int 的“位标志”的替换形式,具有高品质、类型安全的优势。Enumset是个虚类,...
2014-11-14 16:24:48
246
判断两个字符串是否互为变形词的几种方法
本文给出几个判断两个字符串是否互为变形词的方法。方法一 : 借助Arrays工具类实现 import java.util.Arrays; public class AnagramCheck { public boolean isAnagram(String s1, String s2) { if (s1 == null || s2 == ...
2014-11-14 14:03:36
333
给定两个有序数组和一个指定的sum值,从两个数组中各找一个数使得这两个数的和与指定的sum值相差最小...
题目:给定两个有序数组和一个指定的sum值,从两个数组中各找一个数使得这两个数的和与指定的sum值相差最小。比如,有两个有序数组,数组1 为{ -5, -1, 0, 1, 4, 5, 7, 9 },数组2 为{ -3, 3, 10, 12, 15, 18, 21, 28 },如果 sum 为20,则获得的结果为[-1 , 21],如sum为30,则与sum相差最小的两个数为[7 ,...
2014-11-12 11:24:58
585
使用PinYin4j实现汉字转拼音
在项目中,可能使用拼音缩写来完成搜索。比如,以商品查询为例,一般的查询会按照商品编号、商品名称等来查询,另外也可以按照商品名称的拼音缩写以autoComplete的方式来完成搜索。本文给出一个使用PinYin4j实现汉字转拼音的实例: import net.sourceforge.pinyin4j.PinyinHelper; import net.sourcef...
2014-11-11 14:38:52
184
Java面试编程题练手
面试编程写一个程序,去除有序数组中的重复数字编写一个程序使得两个线程陷入死锁使用递归算法反转字符串合并两个有序数组找出三个有序数组共有的元素字符(字母、数字、中文字符)统计示例最短时间过桥从一个整数数组中找出总和为S的所有子集5个钢珠离开凹轨的最短时间和最长时间1到50个数,每次去掉两个数,增加两个数差的绝对值,最后剩什么数?为什么?输出全排列...
2014-11-04 22:49:17
356
Collections用法整理
Collections (java.util.Collections) 工具类包含了很多有关集合操作的静态方法,使用这些方法能帮我们简化代码。本文将整理Collections工具类的一些基本方法。1. 获取List中的最小值 List<Integer> intList = Arrays.asList(33, 24, 18, 6, 9, 99);// 6Syst...
2014-10-22 20:55:58
917
Code Review小结
本文将对Code Review进行一个小结。 [b]什么是Code Review? [/b]Code Review代码评审是指在软件开发过程中,通过对源代码进行系统性检查的过程。通常的目的是查找各种缺陷,包括代码缺陷、功能实现问题、编码合理性、性能优化等;保证软件总体质量和提高开发者自身水平。 Code Review是轻量级代码评审,相对于正式代码评审,轻量级代码评审所...
2014-07-27 20:50:48
207
有时候,将数据的比较转换成字符串比较会更加直观
有时候,将数据的比较转换成字符串比较会更加直观。请大家看下面的例子--实现[b]吸血鬼数[/b]。 所谓“[b]吸血鬼数字[/b]”就是指位数为偶数的数字),可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数字。 [code="java"]package my.example.numbers;import java.util.ArrayList;i...
2014-07-04 10:14:17
105
Javascript中创建UUID的几个方法
本文记录几个在Javascript中创建UUID的几个方法。[b]方法1[/b][code="java"]var guid = (function() { function s4() { return Math.floor((1 + Math.random()) * 0x10000) .toString(16) ...
2014-06-25 22:32:05
156
Collections.emptyXXX方法
从JDK 1.5开始, Collections集合工具类中预先定义了一些空集合:如[code="java"] public static final List emptyList() { return (List) EMPTY_LIST; }[/code][code="java"] public static final Map em...
2014-06-08 13:37:42
233
这代码怎么就打印出"hello world"了呢?
[code="java"]for (long l = 4946144450195624L; l > 0; l >>= 5) System.out.print((char) (((l & 31 | 64) % 95) + 32));[/code]这段代码有点诡异,输出的结果是[b][color=orange]hello world[/color][/b]。4946144450...
2014-06-08 00:37:41
350
几个恰逢其时的动物的照片,完美!
几个恰逢其时的动物的照片,完美![u][b]这鲨鱼是想和潜水员击掌吗?[/b][/u][img]http://dl2.iteye.com/upload/attachment/0097/8246/71a85e67-6b09-3067-8b93-be07a611b6e4.jpg[/img][u][b]小“色猴”,你看哪呢?[/b][/u][img]http://dl...
2014-06-05 23:09:43
151
原创 KindEditor代码高亮显示
使用KindEditor将Java代码存入数据库,然后将数据库的数据取出来并显示在页面上的时候,发现Java代码没有高亮显示。加入的有关KindEditor相关的CSS 和 JS有:[list][*]prettify.css[*]kindeditor.js[*]prettify.js[/list][code="java"][/code][...
2014-04-27 22:15:29
439
最短时间过桥
本文用代码实现最短时间过桥,并且打印如下两个例子的最小过桥时间:[b]例子一:[/b]四人夜间过桥,他们只有一个手电筒一次只能两个人过桥,过桥时必须有手电筒,四人过桥时间为1分2分6分10分[b]例子二:[/b]小明过桥要一秒,小明的弟弟要三秒,小明的爸爸要六秒,小明的妈妈要八秒,小明的爷爷要十二秒。每次此桥最多可过两人,而过桥的速度,依过桥最慢者而定,可是灯在点燃后, 三十秒就会...
2014-04-21 22:03:27
438
将数组分割成差值最小的子集
本文使用[b]位[/b]掩码实现一个功能 ==》将数组分割成差值最小的子集代码如下:[code="java"]import java.util.Arrays;public class MinimalDifference { /** * 将数组分割成差值最小的子集 */ public void printTwoMinDiffGroups(int[] v...
2014-04-20 22:34:06
1163
打印一个数组所有的非空子集
采用[b]位[/b]掩码实现打印给定数组所有的非空子集。[b]分析:[/b]首先来看一个例子,如果给定一个正整数N,如何输出由1到N组成的数组所有的非空子集呢?如N=3, 那么1到3组成的数组为{1,2,3},数组长度为3,那么二进制表示有[b]1...
2014-04-20 13:02:29
1120
重排数组使得array[i]等于array[array[i]],但只能用0(1)的额外空间
题目:给定一个长度为N的数组,里面的每一个元素的值都在0到N-1之间,并且[b]数组的元素是各不相同的[/b]。重新排列这个数组,使得array[i]的值变成array[array[i]], 但是只能使用[b]0(1)[/b]的额外空间。实现的代码如下:[code="java"]import java.util.Arrays;/** * * 题目要...
2014-04-14 23:38:53
538
原创 计算非负数二进制形式中1的个数
要求:计算非负数二进制形式中1的个数.本文采用两种方法来实现:1) 通过[b]Integer#toBinaryString[/b]方法获得二进制表达式, 替换掉0,那么剩余的都是1, 然后直接计算剩余字符串的长度来得到1的个数.2) 采用位运算. 把一个整数减1,然后再与原来整数做与运算(&),会把该整数最右边一个1变成0,那么一个整数的二进制表示中有多少个1就可以进行...
2014-04-10 17:05:18
3076
原创 Java Break的几个用法
在Java中, break除了能够在switch中使用之外,还可以用于跳出循环。 比如, [b]例子一 [/b][code="java"]public class BreakTest { public static void main(String[] args) { for (int i = 1; i 3) { ...
2014-01-06 22:55:44
197
输出全排列
本文将给出一个使用回溯法实现全排列的程序。[code="java"]public class Permutations { public void permute(String value, int startIndex, int endIndex) { if (startIndex == endIndex) { System.out.printf("%s...
2013-12-09 14:17:33
114
[Java小程序] 将所有数值为0的元素置于数组最后
本文实现一个Java小程序: [b]将所有数值为0的元素置于数组最后。[/b]例如:移动前: [1, 3, 0, 3, 1, 4, 5, 0, 3, 1, 0, 2, 3, 1, 9, 8, 2, 2, 5, 2]移动后: [1, 3, 3, 1, 4, 5, 3, 1, 2, 3, 1, 9, 8, 2, 2, 5, 2, 0, 0, 0][b]如果数组中没有需要移动...
2013-12-07 00:11:21
377
Arrays用法整理
本文将整理[b]java.util.Arrays[/b]工具类比较常用的方法:本文介绍的方法基于JDK 1.7 之上。[b]1. asList方法 [/b] [code="java"] @SafeVarargs public static List asList(T... a) { return new ArrayList(a);...
2013-12-06 00:16:43
97
从一个整数数组中找出总和为S的所有子集
本文将记录实现“从一个整数数组中找出总和为S的所有子集”功能的两种方法。1. 使用Stack来实现2. 不借助Stack来实现。[u][b]使用Stack来实现[/b][/u][code="java"]import java.util.Stack;public class GetAllSubsetByStack { /** Set a value f...
2013-12-04 23:12:10
1510
2
[动态规划] 数字三角形问题(一维数组实现)
[b]数字三角形问题[/b]:一个数字三角宝塔。设数字三角形中的数字为不超过100的正整数。现规定从最顶层走到最底层,每一步可沿[b]左斜线向下[/b]或[b]右斜线向下走[/b]。假设三角形行数小于等于100.[color=blue][b]编程求解从最顶层走到最底层的一条路径,使得沿着该路径所经过的数字的总和最大,输出最大值[/b][/color]。例如一个行数为5的三角形如下: ...
2013-10-24 21:30:25
468
Java保留两位小数的几种做法
在平时做项目时,可能有这样的业务需求:[color=blue][b]页面或界面上展示的数据保留小数点后两位。[/b][/color]为了达到这样的展示效果,本文列举了几个方法:[color=blue][b]1. 使用java.math.BigDecimal2. 使用java.text.DecimalFormat3. 使用java.text.NumberFormat4...
2013-10-18 21:49:46
330
Swing版俄罗斯方块游戏
2013-08-01
可视化查找之顺序查找
2013-05-14
可视化查找之二分查找
2013-05-14
选择排序可视化
2013-05-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人