JAVA各种计算工具类

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if (rand < Integer.parseInt(splits[i])) { pos = i + 1; break;
} } return pos; }
/**
* 看一个固定的值在这个数据的哪个区间
*
* @param rate
*
类似 rate=20;50;75;100
* @return
*/
public static int getRateSpace(String rate, int rand) {
Set<Integer> set = new HashSet<Integer>();
while (true) {
int i = getRateFromTwoValue(min, max);
set.add(new Integer(i));
if (set.size() == num) {
break;
}
}
}
/** * 检查字符串长度,一个中文算两个英文字符的长度 * * @param str
* @param min * @param max * @return */ public static boolean checkChineseStrLen(String str, int min, int max) {
break;
}
if (rand < Integer.parseInt(splits[i])) {
pos = i;
break;
}
}
return pos;
}
/**
* 取得 sequence 中指定位置的值
*
* @param sequence
*
类似 sequence=20;50;75;100
* @param pos
String[] arrays = sequence.split(";");
for (String s : arrays) {
if (s.equals(itemId)) {
return true;
}
}
return false;
}
/** * 判断某个值在序列中的位置,返回-1 为不存在 * * @param seq * @param value * @return */
*
第几个位置:从 1 开始
* @return
*/
public static String getValueByPos(String sequence, int pos) {
String[] splits = sequence.split(";");
if (splits.length >= pos) {
int res = 0;
Random random = new Random();
int rand = random.nextInt(10000);
if (rand >= 0 && rand < rate) {
res = 0;
} else {
res = 1;
}
return res;
}
/** * 从两个固定的值之间随便一个数值 * * @param min * @param max * @return */
}
/** * 根据成功率生成结果,返回 0 成功 1 失败 * * @param rate
*
成功率
* @return
*/
public static int getSuccessResult(int rate) {
int res = 0;
Random random = new Random();
int rand = random.nextInt(100);
public static int getPosFromSeq(String seq, String value) { int pos = -1; String[] arrays = seq.split(";"); for (int i = 0; i < arrays.length; i++) { if (arrays[i].equals(value)) { pos = i; break; } } return pos;
return set;
}
/** * 判断编号是否为空 * * @param no * @return 如果为空返回 true,如果不为空返回 false */
public static boolean isNullNo(String no) { if (StringUtils.isEmpty(no) || "null".equals(no) || "0".equals(no)) { return true; } return false;
if (rand >= 0 && rand < rate) {
res = 0;
} else {
res = 1;
}
return res;
}
/**
* 根据成功率生成结果,返回 0 成功 1 失败(万分的机率)
*
* @param rate
*
成功率
* @return
*/
public static int getSuccessResultWan(int rate) {
return splits[pos - 1];
}
return null;
}
/** * 随机取出 sequence 中的一个值,按平均机率取 * * @param sequence * @return */
public static String getRandFromArray(String sequence) { String res = ""; String[] arrays = sequence.split(";"); Random random = new Random(); int rand = random.nextInt(arrays.length); res = arrays[rand]; return res;
}
/** * 从两个固定的值之间随机取不同的 Num 个数值 *
* @param num
*
取不同随机数量
* @param min
* @param max
* @return
*/
public static Set<Integer> getDiffRandFromRange(int num, int min, int max) {
int pos = 0;
String[] splits = rate.split(";");
for (int i = 0; i < splits.length; i++) {
if (rand >= Integer.parseInt(splits[splits.length - 1])) {
pos = splits.len百度文库th;
package com.pokmon.core;
import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.net.URL; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.Map; import java.util.Random; import java.util.Set; import java.util.TreeMap;
/**
* 判断字符 itemId 是否在序列串 sequence 中
*
* @param itemId
*
目标字符串
* @param sequence
*
序列串类似 sequence=20;50;75;100
* @return
*/
public static boolean isInSequence(String itemId, String sequence) {
}
/** * 随机取出 sequence 中的一个序号,按平均机率取 * * @param sequence * @return */
public static int getRandIndexFromArray(String sequence) { String[] arrays = sequence.split(";"); Random random = new Random(); int rand = random.nextInt(arrays.length); return rand;
public final static String BASE_CODE = "utf-8"; public static Map<String, String> platformMap = new HashMap<String, String>();
static { platformMap.put("qzone", "1"); platformMap.put("pengyou", "2");
return true; }else {
return false; }
}
/**
* 根据一个几率数组随机取机一个值
*
* @param rate
*
类似 rate=20;50;75;100
* @return */ public static int getRatePos(String rate) {
int pos = 0; String[] splits = rate.split(";"); Random random = new Random(); int rand = random.nextInt(Integer.parseInt(splits[splits.length - 1])); for (int i = 0; i < splits.length; i++) {
public static int getRateFromTwoValue(int min, int max) { Random random = new Random(); int rand = random.nextInt(max - min + 1) + min;
return rand; }
import net.sf.json.JSONArray; import net.sf.json.JSONException; import net.sf.json.JSONObject;
import org.apache.commons.lang.StringUtils;
public class Util {
if (null == str) { return true;
} int byteLen = str.getBytes().length; if (System.getProperty("file.encoding").equalsIgnoreCase("UTF-8")) {
int charsum = str.toCharArray().length; // 字符数 int bytesum = str.getBytes().length;// 字节数 int hanzisum = (bytesum - charsum) / 2; byteLen = hanzisum * 2 + charsum - hanzisum; } if (byteLen < min || byteLen > max) { return false; } return true; } /** * 判断用户账号的合法性 字母 数组 -_@.几种的组合 6-128 位 * @param userid * @return */ public static boolean checkUserId(String userid) { if(userid.matches("[A-Za-z_0-9@.-]{6,128}")) {
相关文档
最新文档