一站式营销推广平台怎么免费建个人网站
web/
2025/10/2 7:35:39/
文章来源:
一站式营销推广平台,怎么免费建个人网站,新网站seo技术,wordpress 最强主题现在本文也转到了我自己的博客上#xff0c;地址#xff1a;月城小馆Apache Common组件是java开发中常用的工具#xff0c;其中的common-lang包是java基本数据类型的处理工具#xff0c;包括数字、字符串、日期时间等多种工具类。在org.apache.commons.lang包中有一个随机数…现在本文也转到了我自己的博客上地址月城小馆Apache Common组件是java开发中常用的工具其中的common-lang包是java基本数据类型的处理工具包括数字、字符串、日期时间等多种工具类。在org.apache.commons.lang包中有一个随机数工具类RandomStringUtils它是根据指定的字符串数组生成给定长度的随机数的工具类。该累包含较多的方法所有方法返回的都是随机数字符串。每个方法至少提供一个参数int count这个参数表示要生成的随机数的长度最后真正实现这个随机数生成过程的是下面这个方法publicstaticStringrandom(intcount,intstart,intend,booleanletters,booleannumbers,char[] chars, Random random) {if(count 0)return;if(count thrownewIllegalArgumentException(Requested random string length count is less than 0.);}if((start 0) (end 0)) {end 123;start 32;if((!(letters)) (!(numbers))) {start 0;end 2147483647;}}StringBuffer buffer newStringBuffer();intgap end - start;while(count-- ! 0) {charch;if(chars null)ch (char) (random.nextInt(gap) start);else{ch chars[(random.nextInt(gap) start)];}if(((letters) (numbers) (Character.isLetterOrDigit(ch)))|| ((letters) (Character.isLetter(ch)))|| ((numbers) (Character.isDigit(ch)))|| ((!(letters)) (!(numbers))))buffer.append(ch);else{count;}}returnbuffer.toString();}其中的参数paramcount表示要生成的随机数长度paramstart开始位置paramend结束位置paramletters是否包含字母paramnumbers是否包含数字paramchars指定的字符种子paramrandomRandom实例看代码里面的逻辑很清楚了别的参数不做讨论只看chars这个参数。(1)如果指定了这个参数则生成的随机数只能包含这个数组里的字符(字符或者数字)(2)如果没有指定这个数组传进来的是null则根据指定的start和end给出随机数然后在后面的while循环里判断见红色字体部分。使用下面这个语句进行调用String strLen RandomStringUtils.random(2, 6, 11, false, true);这个语句最终调用的还是上面说的那个方法执行时是死循环状态问题就出在这里(2)的情况里如果指定参数letters为false参数numbers为true指定的start和end在可见字符之外比如start6end11则红色标志部分的代码判断一直为false造成while进入死循环状态。为避免这种情况产生需要在传递参数时小心谨慎给出合法的起止位置最好给出字符串数组指定该方法使用给定的字符生成随机数或者对这个方法进行完善定义自己的随机数工具类。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85502.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!