*
* @author talent_marquis<��˺��>
* Email: talent_marquis@163.com
* Copyright (C) 2007 talent_marquis<��˺��>
* All rights reserved.
*/
package com.dextrys.trilogy.util;
import java.util.Arrays;
import org.eclipse.swt.graphics.RGB;
public class RandomUtil
{
/**
* @param args
*/
public static void main( String[] args )
{
//System.out.println( getRandomNormalString( 8 ) );
int[] test = getRandomIntWithoutReduplicate( 0, 40, 39 );
Arrays.sort( test );
for( int i : test )
{
System.out.println( i );
}
}
/**
* get a integer array filled with random integer without reduplicate [min, max)
* @param min the minimum value
* @param max the maximum value
* @param size the capacity of the array
* @return a integer array filled with random integer without redupulicate
*/
public static int[] getRandomIntWithoutReduplicate( int min, int max, int size )
{
int[] result = new int[size];
int arraySize = max - min;
int[] intArray = new int[arraySize];
// init intArray
for( int i = 0 ; i < intArray.length ; i++ )
{
intArray[i] = i + min;
}
// get randome interger without reduplicate
for( int i = 0 ; i < size ; i++ )
{
int c = getRandomInt( min, max - i );
int index = c - min;
swap( intArray, index, arraySize - 1 - i );
result[i] = intArray[ arraySize - 1 - i ];
}
return result;
}
private static void swap( int[] array, int x, int y )
{
int temp = array[x];
array[x] = array[y];
array[y] = temp;
}
/**
* get a random Integer with the range [min, max)
* @param min the minimum value
* @param max the maximum value
* @return the random Integer value
*/
public static int getRandomInt( int min, int max )
{
// include min, exclude max
int result = min + new Double( Math.random() * ( max - min ) ).intValue();
return result;
}
/**
* get a random double with the range [min, max)
* @param min the minimum value
* @param max the maximum value
* @return the random double value
*/
public static double getRandomDouble( double min, double max )
{
// include min, exclude max
double result = min + ( Math.random() * ( max - min ) );
return result;
}
/**
*
* @return a random char with the range ASCII 33(!) to ASCII 126(~)
*/
public static char getRandomChar()
{
// from ASCII code 33 to ASCII code 126
int firstChar = 33; // "!"
int lastChar = 126; // "~"
char result = ( char ) ( getRandomInt( firstChar, lastChar + 1 ) );
return result;
}
/**
*
* @return a random rgb color
*/
public static RGB getRandomRGB()
{
int red = getRandomInt(0,256);
int green = getRandomInt(0,256);
int blue = getRandomInt(0,256);
return new RGB( red, green, blue );
}
/**
*
* @return a random char with the range [0-9],[a-z],[A-Z]
*/
public static char getRandomNormalChar()
{
// include 0-9,a-z,A-Z
int number = getRandomInt( 0, 62 );
int zeroChar = 48;
int nineChar = 57;
int aChar = 97;
int zChar = 122;
int AChar = 65;
int ZChar = 90;
char result;
if( number < 10 )
{
result = ( char ) ( getRandomInt( zeroChar, nineChar + 1 ) );
return result;
}
else if( number >= 10 && number < 36 )
{
result = ( char ) ( getRandomInt( AChar, ZChar + 1 ) );
return result;
}
else if( number >= 36 && number < 62 )
{
result = ( char ) ( getRandomInt( aChar, zChar + 1 ) );
return result;
}
else
{
return 0;
}
}
/**
*
* @param length the length of the String
* @return a String filled with random char
*/
public static String getRandomString( int length )
{
// include ASCII code from 33 to 126
StringBuffer result = new StringBuffer();
for( int i = 0; i < length; i++ )
{
result.append( getRandomChar() );
}
return result.toString();
}
/**
*
* @param length the length of the String
* @return a String filled with normal random char
*/
public static String getRandomNormalString( int length )
{
// include 0-9,a-z,A-Z
StringBuffer result = new StringBuffer();
for( int i = 0; i < length; i++)
{
result.append( getRandomNormalChar() );
}
return result.toString();
}
}
分享到:
相关推荐
9. **RandomUtil.java**: 随机数在很多场景下都很有用,这个类可能提供了生成随机数或者随机字符串的方法,如`nextInt()`、`nextDouble()`、`generateRandomString()`等。 以上就是对给定文件名称的分析,每个文件...
### Java中随机函数的实现 在Java编程语言中,生成随机数是一项常见需求,尤其是在模拟、游戏开发或数据处理等领域。本文将详细介绍两种常见的生成随机数的方法:利用`Math.random()`函数以及使用`java.util.Random...
该方法生成一个包含随机整数的`HashMap`,其中键是连续整数,值是从指定范围内的随机整数。具体实现为: - 参数: - `start int`:随机数的起始值。 - `end int`:随机数的结束值。 - `num int`:要生成的随机数...
### Java Math类常用函数详解 在Java编程语言中,`Math`类提供了丰富的数学运算功能,包括基本的算术操作、对数计算、指数运算、三角函数等。这些方法可以帮助开发者轻松实现各种复杂的数学计算任务。下面将详细...
Java 中随机函数的使用 Java 中随机函数的使用是指在 Java 编程语言中生成随机数的方法和技术。随机函数的使用在各种编程领域中都有着广泛的应用,如游戏开发、数据分析、模拟仿真等。 一、Java 中随机函数的类型 ...
本文档详细介绍了Java中一些常用的函数,这些函数覆盖了日期格式转换、数学运算、十六进制显示、数据库操作及线程控制等多个方面,是Java开发者在日常编程工作中不可或缺的工具。 首先,日期格式转换函数dateToStr...
JAVA源码利用随机函数抽取幸运数字JAVA源码利用随机函数抽取幸运数字
### Java常用函数与方法详解 在Java编程语言中,熟练掌握一些常用的函数和方法对于提高开发效率至关重要。本文将对给定代码中的几个典型方法进行详细介绍,并解释它们的应用场景及实现原理。 #### 1. 日期转换为...
"Java开发技术调用Random函数,随机生成32位不重复的字符" 在Java开发技术中,生成随机数是非常常见的需求。例如,在注册用户账户时,需要生成一个随机的密码。在游戏开发中,需要生成随机数来决定游戏的结果。在...
Java的`java.util.Random`类可以生成随机数,`nextInt(int bound)`方法用于生成指定范围内的随机整数。实验要求生成5个[5, 18)之间的随机数,可以使用`ArrayList`或`LinkedList`来存储这些数。`List`接口提供了添加...
接下来,点名系统的随机性是通过Java的Math.random()函数实现的。这个函数返回一个0.0到1.0之间的随机浮点数,开发者通常会将其转换为整数,然后根据名单长度进行索引,以选择一个随机的名字。例如: ```java ...
java源码资源利用随机函数抽取幸运数字提取方式是百度网盘分享地址
这是一个通过随机数产生人名的函数,姓从百家姓中随机抽取,名在常用名中抽取
这个库以其小而全的特点,深受开发者喜爱,它将许多常用的函数封装在一起,使得Java代码变得更加简洁、优雅,从而提升了开发效率。 Hutool库覆盖了众多功能模块,包括但不限于以下几个方面: 1. **日期和时间操作*...
Java中的随机数函数主要包括random等函数,这些函数用于生成伪随机数。例如,Math.random()函数返回0和1之间的伪随机数。 七、Math属性 Java中的Math属性主要包括PI、E、LN2、LN10、LOG2E和LOG10E等,这些属性用于...
此为一个Java的随机组卷程序课程设计,内有完整程序和论文,实现的功能有: 1、卷子内容可以任意专业内容。四项单选题。 2. 数据源为50题,随机选择30题。 3. 要求每套题生成后,要方便打印 4. 使用外部数据。 5. ...
- `java.awt.Color`类:表示颜色,可以通过构造函数传入RGB值创建颜色对象。 - `random.nextInt(256)`:生成0到255之间的随机整数,可以用来创建随机RGB颜色。 程序实现的大致流程如下: 1. 创建`JFrame`对象并...
这个压缩包“java源码:利用随机函数抽取幸运数字.zip”显然包含了实现这一功能的源代码。让我们深入探讨一下如何在Java中生成随机数,以及如何构建一个抽奖系统。 首先,Java提供了`java.util.Random`类来生成...
《字节跳动Sliver:Java函数栈采集技术解析》 在现代软件开发中,尤其是大规模分布式系统中,性能监控和故障排查是至关重要的环节。字节跳动作为一家技术驱动的公司,其内部开发的Sliver工具在解决这类问题上发挥了...