概述
package com.luang.util.common;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
/**
*
* NumberUtil.java
*
* @desc 数字计算工具
* @author Guoxp
* @datatime Apr 7, 2013 3:52:29 PM
*
*/
public class NumberUtil {
/** 生成不重复随机数
* 根据给定的最小数字和最大数字,以及随机数的个数,产生指定的不重复的数组
* @param begin 最小数字(包含该数)
* @param end 最大数字(不包含该数)
* @param size 指定产生随机数的个数
*/
public int[] generateRandomNumber(int begin, int end, int size) {
// 加入逻辑判断,确保begin
if (begin >= end || (end - begin) < size) {
return null;
}
// 种子你可以随意生成,但不能重复
int[] seed = new int[end - begin];
for (int i = begin; i < end; i ++) {
seed[i - begin] = i;
}
int[] ranArr = new int[size];
Random ran = new Random();
// 数量你可以自己定义。
for (int i = 0; i < size; i++) {
// 得到一个位置
int j = ran.nextInt(seed.length - i);
// 得到那个位置的数值
ranArr[i] = seed[j];
// 将最后一个未用的数字放到这里
seed[j] = seed[seed.length - 1 - i];
}
return ranArr;
}
/** 生成不重复随机数
* 根据给定的最小数字和最大数字,以及随机数的个数,产生指定的不重复的数组
* @param begin 最小数字(包含该数)
* @param end 最大数字(不包含该数)
* @param size 指定产生随机数的个数
*/
public Integer[] generateBySet(int begin, int end, int size) {
// 加入逻辑判断,确保begin
if (begin >= end || (end - begin) < size) {
return null;
}
Random ran = new Random();
Set set = new HashSet();
while (set.size() < size) {
set.add(begin + ran.nextInt(end - begin));
}
Integer[] ranArr = new Integer[size];
ranArr = set.toArray(new Integer[size]);
//ranArr = (Integer[]) set.toArray();
return ranArr;
}
/**
* 判断String是否是整数
*/
public boolean isInteger(String s){
if((s != null)&&(s!=""))
return s.matches("^[0-9]*$");
else
return false;
}
/**
* 判断字符串是否是浮点数
*/
public boolean isDouble(String value) {
try {
Double.parseDouble(value);
if (value.contains("."))
return true;
return false;
} catch (NumberFormatException e) {
return false;
}
}
/**
* 判断字符串是否是数字
*/
public boolean isNumber(String value) {
return isInteger(value) || isDouble(value);
}
//排序方法
public static void sort(int[] array) {// 小到大的排序
int temp = 0;
for (int i = 0; i < array.length; i++) {
for (int j = i; j < array.length; j++) {
if (array[i] > array[j]) {
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}
/**
* 是否是质数
*/
public static boolean isPrimes(int n) {
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
/**
* 阶乘
* @param n
* @return
*/
public static int factorial(int n) {
if (n == 1) {
return 1;
}
return n * factorial(n - 1);
}
/**
* 平方根
转自【http://blog.csdn.net/guoxuepeng123/article/details/8797928】
最后
以上就是无情橘子为你收集整理的java numberutil_【转】Java工具类——数字计算工具 NumberUtil | 学步园的全部内容,希望文章能够帮你解决java numberutil_【转】Java工具类——数字计算工具 NumberUtil | 学步园所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复