import java.util.Random;

/**
*
* @author mengzw
* @since 3.0 2014-5-22
*/
public class RandomTest { /**
* 生成随机字符串
*
* @param length
* 要生成字符串的长度
* @param stringType
* 字符源的类型。0:字母+数字(已把数字中的易混淆字符去除), 1:纯字母, 2:纯数字。默认为字母+数字
* @param caseType
* 大小写的类型。0:大小写混合, 1:纯大字, 2:纯小写。默认为纯大写
* @param specialString
* 特殊字符 如果需要生成的字符串中包含特殊字符,可把需要添加的特殊字符传进来。该参数为null或""都没关系
* @return
*/
public static String getRandomString(int length, int stringType, int caseType, String specialString) {
String type0 = "abcdefghijkmnopqrstuvwxyz23456789";
String type1 = "abcdefghijkmnopqrstuvwxyz";
String type2 = "0123456789";
String characterStore = "";
switch (stringType) {
case 0:
characterStore = type0;
break;
case 1:
characterStore = type1;
break;
case 2:
characterStore = type2;
break;
default:
characterStore = type0;
break;
}
characterStore += specialString; Random random = new Random();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < length; i++) {
int number = random.nextInt(characterStore.length());
char c = characterStore.charAt(number);
switch (caseType) {
case 0:
c = random.nextBoolean() ? Character.toUpperCase(c) : Character.toLowerCase(c);
break;
case 1:
c = Character.toUpperCase(c);
break;
case 2:
c = Character.toLowerCase(c);
break;
default:
c = Character.toUpperCase(c);
break;
}
sb.append(c);
}
return sb.toString();
} public static void main(String[] args) {
System.out.println(getRandomString(5,0,0,""));
}
}

制定自己需要的随机数

java自定义随机数(实例)的更多相关文章

  1. java自定义注解知识实例及SSH框架下,拦截器中无法获得java注解属性值的问题

    一.java自定义注解相关知识 注解这东西是java语言本身就带有的功能特点,于struts,hibernate,spring这三个框架无关.使用得当特别方便.基于注解的xml文件配置方式也受到人们的 ...

  2. Java 自定义注解与注解解析实例

    在学习Java之后会遇到很多的注解,有加载JavaBean的注解:@Component,@Service,@Controller:有获取配置文件中数值的注解@Value:有获取Http请求的数据的注解 ...

  3. java自定义注解类

    一.前言 今天阅读帆哥代码的时候,看到了之前没有见过的新东西, 比如java自定义注解类,如何获取注解,如何反射内部类,this$0是什么意思? 于是乎,学习并整理了一下. 二.代码示例 import ...

  4. JAVA上百实例源码以及开源项目

    简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级.中级.高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情.执着,对IT的憧憬. ...

  5. java产生随机数的几种方式

    java产生随机数的几种方式 一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他 ...

  6. java自定义注解注解方法、类、属性等等【转】

    http://anole1982.iteye.com/blog/1450421 http://www.open-open.com/doc/view/51fe76de67214563b20b385320 ...

  7. java 获取随机数的三种方法

    方法1(数据类型)(最小值+Math.random()*(最大值-最小值+1))例:(int)(1+Math.random()*(10-1+1))从1到10的int型随数 方法2获得随机数for (i ...

  8. Java获取随机数的几种方法

    Java获取随机数的几种方法 .使用org.apache.commons.lang.RandomStringUtils.randomAlphanumeric()取数字字母随机10位; //取得一个3位 ...

  9. JAVA上百实例源码网站

    JAVA源码包1JAVA源码包2JAVA源码包3JAVA源码包4 JAVA开源包1 JAVA开源包2 JAVA开源包3 JAVA开源包4 JAVA开源包5 JAVA开源包6 JAVA开源包7 JAVA ...

随机推荐

  1. C#。3.1 循环(叠加、穷举)

    循环. for 循环 嵌套的应用, 迭代.穷举 一.迭代法 每次循环都是从上次运算结果中获得数据,本次运算的结果都是要为下次运算做准备.例:1.100以内所有数的和. int sum = 0; for ...

  2. OD: Memory Attach Technology - Exception

    看到第六章了:形形色色的内存攻击技术 异常处理结构体 S.E.H Structure Exception Handler S.E.H 是 Windows 处理异常的重要数据结构.每个 S.E.H 为 ...

  3. web前端技术

    在网上找了点前端资料,记录下来,以便后面工作可能用到. Flat UI:一个WEB界面工具组件库.很多漂亮的菜单.按钮等. stickUp:一个jquery插件,可以将页面中的元素固定.经常用在把菜单 ...

  4. C#socket通讯两个最经典错误解决方案

    1.经典错误之 无法访问已释放的对象. 对象名:“System.Net.Sockets.Socket”     (1).问题现场   (2).问题叙述 程序中的某个地方调用到了socket.close ...

  5. 毕业设计 ASP.Net+EasyUI开发 X X露天矿调度管理信息系统(二)

    这是本毕业设计的雏形和框架,实现的功能在左侧的功能框导航菜单内.  做的太烂,还是把学校名字给马赛克掉吧....省的挨校友批 登陆界面.. <cookie +ispostback实现记住我功能& ...

  6. Android WifiDirect学习(一)

    WiFi Direct基本介绍 Wi-Fi Direct标准允许无线网络中的设备无需通过无线路由器即可相互连接.与蓝牙技术类似,这种标准允许无线设备以点对点形式互连,不过在传输速度与传输距离方面则比蓝 ...

  7. .NET MVC通过反射获取数据修改历史记录,并插入数据表中

    本文属于原创,转载时请标明出处! 折磨了我一个晚上的问题,奈何对物理的反射印象太深了,整天去想着物理的反射.折射怎么解.感谢少将哥哥给我的指点,经过一个晚上对反射的恶补,最终搞定了.纪念一下. 1.核 ...

  8. js中关于一个数组中最大、最小值以及它们的下标的输出的一种解决办法

    今天在学习js中的数组时,遇到的输出一个数组中最大.最小值以及它们的下表,以下是自己的解决方法! <script type="text/javascript"> var ...

  9. linux下面安装配置LAMP环境

    以centos下面为例.初学者.东西基本都是各个地方找来的.自己手写了一遍.应该印象会很深刻 首先切换到超级管理员模式 1.安装php 一路选择y就行了 安装一些php的扩展 yum -y insta ...

  10. js href的用法

    关于js window.location.href location.href parent.location.href top.location.href 的用法 "window.loca ...