JAVA各种计算工具类

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

package com.pokmon.core;

import java.io.BufferedReader;

import java.io.DataOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import .HttpURLConnection;

import .InetAddress;

import workInterface;

import .SocketException;

import .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;

import net.sf.json.JSONArray;

import net.sf.json.JSONException;

import net.sf.json.JSONObject;

import ng.StringUtils;

public class Util {

public final static String BASE_CODE = "utf-8";

public static Map platformMap = new HashMap();

static {

platformMap.put("qzone", "1");

platformMap.put("pengyou", "2");

}

/**

* 检查字符串长度,一个中文算两个英文字符的长度

*

* @param str

* @param min

* @param max

* @return

*/

public static boolean checkChineseStrLen(String str, int min, int max) { 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}"))

{

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++) {

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) {

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.length;

break;

}

if (rand < Integer.parseInt(splits[i])) {

pos = i;

break;

}

}

return pos;

}

/**

* 取得sequence中指定位置的值

*

* @param sequence

* 类似sequence=20;50;75;100

相关文档
最新文档