📄 randomor.java
字号:
package random;
import java.util.Random;
/**
* 随机处理器
*
* @author marvy <br>
* 根据给定的条件,产生随机数
*/
public class Randomor {
/*
private Randomor() {
}
*/
public Randomor() {
}
/**
* 得到随机的整数
*
* @param upperLimit 得到整数的最大数(不包含)。默认的最小的整数为0;
* @param count 得到的总的整数的数量
*/
public static int[] randomInts(int upperLimit, int count) {
return randomInts(0, upperLimit, count);
}
/**
* 得到随机的整数数组
*
* @param lowerLimit 得到整数的最小数(包含)
* @param upperLimit 得到整数的最大数(不包含)
* @param count 得到的总的整数的数量
*/
public static int[] randomInts(int lowerLimit, int upperLimit, int count) {
if(count < 0){
count = 0;
}
if(lowerLimit > upperLimit){
int tmp = lowerLimit;
lowerLimit = upperLimit;
upperLimit = tmp;
}
int[] noSames = new int[count];
Random random = new Random();
int getInt;
for (int i = 0; i < count; i++) {
while (true) {
getInt = randomInt(random, lowerLimit, upperLimit);
if (isExist(noSames, getInt, i) == false) {
break;
}
}
noSames[i] = getInt;
}
return noSames;
}
/**
* 得到随机的整数
*
* @param lowerLimit 得到整数的最小数(包含)
* @param upperLimit 得到整数的最大数(不包含)
* @return int 随机的整数
*/
public static int randomInt(int lowerLimit,
int upperLimit) {
return randomInt(null, lowerLimit, upperLimit);
}
/**
* 得到随机的整数
*
* @param random 随机类
* @param lowerLimit 得到整数的最小数(包含)
* @param upperLimit 得到整数的最大数(不包含)
* @return int 随机的整数
*/
public static int randomInt(Random random, int lowerLimit,
int upperLimit) {
if(lowerLimit == upperLimit){
return upperLimit;
}
if(lowerLimit > upperLimit){
int tmp = lowerLimit;
lowerLimit = upperLimit;
upperLimit = tmp;
}
if(random == null){
random = new Random();
}
int tmpInt;
while (true) {
tmpInt = random.nextInt(upperLimit);
if (tmpInt >= lowerLimit) {
return tmpInt;
}
}
}
/**
* 判断给定的整数数组中是否存在某个整数
*
* @param ints 整数数组
* @param one 整数
* @return boolean 是否存在
*/
public static boolean isExist(int[] ints, int one) {
return isExist(ints, one, ints.length);
}
/**
* 判断给定的整数数组中指定位置之前是否存在某个整数
*
* @param ints 整数数组
* @param one 整数
* @param length 指定位置(如:5代表判断数组前5个元素)
* @return boolean 是否存在
*/
public static boolean isExist(int[] ints, int one, int length) {
if(length > ints.length){
length = ints.length;
}
for (int i = 0; i < length; i++) {
if (ints[i] == one) {
return true;
}
}
return false;
}
public static void main(String args[]){
Randomor randomor = new Randomor();
int []random;
random = randomor.randomInts(100, 99);
for(int i=0;i<random.length;i++){
System.out.println(random[i]);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -