`
BruceGao
  • 浏览: 27330 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

生成随机字符串,数字进制转换

阅读更多
import java.util.Random;

/**
 * 生成指定长度的随机字符串
 *
 * @author Bruce Gao
 *
 */
public class RandomChar {

	/*
	 * ASCII码表,从第48到第126个字符是可以从键盘上输入的可见字符,<p>
	 * 因此,通过随机得到48-126之间的数字即可得到一个指定长度的字符串。
	 */
	public static void main(String[] args) {

		// 不带特殊字符的指定长度的随机字符串
		System.out.println(randomString1(8));

		// 带有特殊字符的指定长度的随机字符串
		System.out.println(randomString2(8));

		// 将指定的十进制转成八进制
		System.out.println(digtalChange(166));
		System.out.println(digtalChange2(166));
	}

	/**
	 * 生成指定长度的带有大写字母、小写字母、数字的随机字符串
	 *
	 * @return
	 */
	public static String randomString1(int length) {
		String resString = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
		StringBuilder targhtStrr = new StringBuilder();
		Random r = new Random();
		while (targhtStrr.length() < length) {
			targhtStrr.append(resString.charAt(r.nextInt(resString.length())));
		}
		return targhtStrr.toString();
	}

	/**
	 * 生成指定长度的带有大写字母、小写字母、数字及特殊字符的随机字符串
	 *
	 * @return
	 */
	public static String randomString2(int length) {
		StringBuilder str = new StringBuilder();
		Random r = new Random();
		int c;
		while (str.length() < length) {
			if ((c = r.nextInt(127)) >= 48) {
				str.append((char) c);
			}
		}
		return str.toString();
	}

	/**
	 * 将十进制数据转成八进制
	 *
	 * @param num
	 *            十进制数
	 * @return 八进制数
	 */
	public static String digtalChange(int num) {
		StringBuilder str = new StringBuilder();
		while (num > 0) {
			str.append(num & 7);
			num = num >>> 3;
		}
		return str.reverse().toString();
	}

	/**
	 * 将十进制数据转成八进制
	 *
	 * @param num
	 *            十进制数
	 * @return 八进制数
	 */
	public static String digtalChange2(int num) {
		StringBuilder str = new StringBuilder();
		while (num > 0) {
			str.append(num % 8);
			num = num / 8;
		}
		return str.reverse().toString();
	}
}

 

分享到:
评论

相关推荐

    winhex 16进制文件转换器 要的赶紧下

    包括 ASCII、16 进制数据 - 可进行 2 进制、16 进制 ASCII, Intel 16 进制, 和 Motorola S 转换 - 字符集: ANSI ASCII, IBM ASCII, EBCDIC, (Unicode) - 立即窗口切换、打印、生成随机数字 - 支持打开大于 4 GB 的...

    Golang数据类型转换—-16进制转整数,解析8位有符号16进制整数

    这是个16进制字符串转无符号8位整数后再转成有符号的8位整数的过程, 之所以这么转是因为直接ParseInt(s, 16, 8)会抛出异常, 因为默认的strconv的ParseInt貌似不支持负数和浮点数的解析, 所以先将其转成uint64, ...

    字符串文件http密码资源文件openoffice图片等工具等

    #ch-utils 工具类包 Assert提供对数组、集合、字符串的合法校验静态方法 BeanHelper提供了bean类与map的互相转换 ...StringUtil字符串关于数字中文的判断与转换方法 UrlCoderUtil字符串url编码解码

    收集整理的SQL Server自定义函数

    7.生成n位随机字符串 11 8.取出字符串中的汉字、字母或是数字 14 9.根据字符分割字符串的三种写法 16 10.将数字转换千分位分隔形式 18 11.取汉字首字母的两个函数 20 12.根据身份证得到生日函数 23 13.根据身份证...

    notebook:我的技术笔记本〜

    生成随机字符串 别对大的list循环使用in,应该改用set Python.h:没有这样的文件或目录 二进制字符串转普通字符串 十六进制字符串转bytes字符串 用requests进行发布 符号数与无符号数转换 使用signal.SIGALRM在限定...

    Python基础练习文件源码.rar

    Python基础练习文件源码,里面有py文件,代码注释等等 大概有 Break退出循环语句 continue跳过本次循环继续下次循环 count计算次数 def自定义函数 ...随机数字+字母组合(指定长度) 饼图 验证收费功能

    基于Qt开发的开源小工具包,包含了在开发程序(尤其是Qt程序)时,需要的各种小功能

    可以生成随机密码字符串,例如:"Hau-eqS-5EC- * UUID随机器 可以生成随机密码UUID,例如:"bff98ea4-b861-422a-8627-6eb6cbca8716" * URL转码 将字符串和编码后的URL之间进行互转,例如将 "中文" 和 "%E4%B8...

    JavaScript生成一个不重复的ID的方法示例

    本文介绍了JavaScript生成一个不重复的ID的方法示例,分享给大家,具体如下: /** * 生成一个用不重复的ID */ function GenNonDuplicateID():String{ ...3.将10进制转换为其他进制的字符串 Number.toString

    JQTools-18.1(基于QT开发的工具小软件源代码).28.zip

    可以生成随机密码字符串,例如:"Hau-eqS-5EC- * UUID随机器 可以生成随机密码UUID,例如:"bff98ea4-b861-422a-8627-6eb6cbca8716" * URL转码 将字符串和编码后的URL之间进行互转,例如将 "中文" 和 "%E4%...

    php MD5 base64 crypt等加密函数用法集.rar

    //urldecode()函数相反,要于对已经编码的URL字符串,将其16进制字符转换为中文字符  $str =base64_encode('可以传中文和图片');//base64_encode()可以让中文和图片顺利在网上传输,但是编码后多占33%的空间。

    des源代码(加解密的密钥生成)

    C代码 //初始置换表IP int IP_Table[64] = { 57,49,41,33,25,17,9,1, 59,51,43,35,27,19,11,3, 61,53,45,37,29,21,13,5, 63,55,47,39,31,23,15,7, 56,48,40,32,24,16,8,0, 58,50,42,34,26,18,10,2, ...

    30个初级常用python实现脚本 中文pdf高清版

    17、判断字符串是否只由数字组成 18、判断奇偶数 19、判断闰年 20、获取最大值 21、斐波那契数列 22、十进制转二进制、八进制、十六进制 23、最大公约数 23、最小公倍数 24、简单计算器 25、生成日历 26、文件IO 27...

    delphi 开发经验技巧宝典源码

    0161 判断字符串是由数字、大写字母或小写字母组成 105 0162 判断字符串中的某一字符是否大写 106 0163 判断字符串中是否有小写字母 107 0164 判断字符串中是否有指定的字符 107 0165 判断字符是否可以转换...

    delphi 开发经验技巧宝典源码06

    0161 判断字符串是由数字、大写字母或小写字母组成 105 0162 判断字符串中的某一字符是否大写 106 0163 判断字符串中是否有小写字母 107 0164 判断字符串中是否有指定的字符 107 0165 判断字符是否可以转换...

    JavaScript经典实例

     4.5把表中的字符串转换为数字  4.6把表中一列的所有数字加和  4.7在角度和弧度之间转换  4.8找到页面元素可容纳的一个圆的半径和圆心  4.9计算圆弧的长度  第5章使用数组和循环  5.0简介  5.1循环遍历数组 ...

    WEB前端助手(FeHelper)_v2019.09.0320.crx

    字符串编解码(Unicode/UTF8/Base64/MD5) 代码美化工具(HTML/CSS/JS/XML/SQL) 代码压缩工具(HTML/CSS/JS) 二维码生成器(支持当前页面、图片、链接、选中的文字生成QrCode) 二维码解码器(支持网页二维码...

    MyFll Microsoft Visual FoxPro设计的扩展库

    NumConver 进制转换函数,能够将一个数字转换为2至36进制的字符串 ConverNum 将指定进制的字符串转换为数值型 GB2312ToBIG5 简体转繁体 BIG5ToGB2312 繁体转简体 FormToBmp 将表单保存为BMP图片 RectToBmp ...

Global site tag (gtag.js) - Google Analytics