Examination_system/Examination_system-1/.svn/pristine/c2/c2079841db2f09a5ac16f815e65...

272 lines
7.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.bonus.core;
import java.io.ByteArrayOutputStream;
import java.text.DecimalFormat;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringHelper {
private static String hexString = "0123456789ABCDEF";
public static String replaceAll(String str, String oldStr, String newStr) {
return str.replaceAll(oldStr, newStr);
}
public static boolean contains(String s1, String s2) {
if (isEmpty(s1)) {
return false;
}
return s1.contains(s2);
}
public static int getInt(String valStr) {
return getInt(valStr, 0);
}
public static int getInt(String valStr, int defaulVal) {
int val = 0;
try {
val = Integer.parseInt(valStr);
} catch (Exception e) {
val = defaulVal;
}
return val;
}
public static String nullPlaceholder(String str, String holderStr) {
if (isEmpty(str)) {
return holderStr;
}
return str;
}
public static String getShiroBtns(String str) {
StringBuilder btnString = new StringBuilder();
if (isNotEmpty(str) && str.indexOf("Management") != -1) {
Integer startIndex = str.lastIndexOf("/") + 1;
Integer endIndex = str.indexOf("Management");
str = str.substring(startIndex, endIndex);
String startStr1 = "<shiro:hasPermission name='";
String startStr2 = "'>";
String endStr = "</shiro:hasPermission>";
// 增加按钮
btnString.append(startStr1 + str + ":add" + startStr2);
btnString.append(
"<a title='新增' onclick='add()' class='lrspace3' ><i class='icon-plus-sign color bigger-180'></i></a>");
btnString.append(endStr);
// 查看按钮
btnString.append(startStr1 + str + ":view" + startStr2);
btnString.append(
"<a title='查看' onclick='view()' class='lrspace3' ><i class='icon-info-sign color bigger-180'></i></a>");
btnString.append(endStr);
// 修改按钮
btnString.append(startStr1 + str + ":edit" + startStr2);
btnString.append(
"<a title='修改' onclick='edit()' class='lrspace3' ><i class='icon-edit-sign color bigger-180'></i></a>");
btnString.append(endStr);
// 删除按钮
btnString.append(startStr1 + str + ":del" + startStr2);
btnString.append(
"<a title='删除' onclick='del()' class='lrspace3' ><i class='icon-remove-sign color-red bigger-180'></i></a>");
btnString.append(endStr);
}
return btnString.toString();
}
public static Integer ceshi(Integer a, Integer b) {
Integer res = 0;
res = (int) Math.floor(a / b);
return res;
}
public static float getFloat(String valStr) {
return getFloat(valStr, 0);
}
public static float getFloat(String valStr, int defaulVal) {
float val = 0;
try {
val = Float.parseFloat(valStr);
} catch (Exception e) {
val = defaulVal;
}
return val;
}
/*
* 将字符串编码成16进制数字,适用于所有字符(包括中文)
*/
public static String encode(String str) {
// 根据默认编码获取字节数组
byte[] bytes = str.getBytes();
StringBuilder sb = new StringBuilder(bytes.length * 2);
// 将字节数组中每个字节拆解成2位16进制整数
for (int i = 0; i < bytes.length; i++) {
sb.append(hexString.charAt((bytes[i] & 0xf0) >> 4));
sb.append(hexString.charAt((bytes[i] & 0x0f) >> 0));
}
return sb.toString();
}
public static String decode(String bytes) {
ByteArrayOutputStream baos = new ByteArrayOutputStream(bytes.length() / 2);
// 将每2位16进制整数组装成一个字节
for (int i = 0; i < bytes.length(); i += 2)
baos.write((hexString.indexOf(bytes.charAt(i)) << 4 | hexString.indexOf(bytes.charAt(i + 1))));
return new String(baos.toByteArray());
}
public static String fillPrefixZero(int v, int len) {
String vStr = v + "";
while (vStr.length() < len) {
vStr = "0" + vStr;
}
return vStr;
}
public static boolean isEmpty(String str) {
if (str == null || "".equals(str.trim()) || "undefined".equals(str.trim())) {
return true;
}
return false;
}
/**
* 判断字符串 不为空
*/
public static boolean isNotEmpty(String str) {
return !isEmpty(str);
}
/**
* 处理时间,获取编号
*/
public static String time2Code(String time) {
if (isNotEmpty(time)) {
time = time.replace("-", "").replace(" ", "").replace(":", "");
}
return time;
}
public static String formatMoneyData(float temp) {
DecimalFormat df = new DecimalFormat("#0.00");// 构造方法的字符格式这里如果小数不足2位,会以0补足.
String tmp = df.format(temp);
return tmp;
}
public static float formatMoney2Data(float temp) {
String tmp = formatMoneyData(temp);
float t = getFloat(tmp);
return t;
}
public static String formatData(float temp) {
DecimalFormat df = new DecimalFormat("#0.000");// 构造方法的字符格式这里如果小数不足2位,会以0补足.
String tmp = df.format(temp);
return tmp;
}
public static float format2Data(float temp) {
String tmp = formatData(temp);
float t = getFloat(tmp);
return t;
}
/**
* 检查是否存在数据飘逸
*/
public static float disposeDrift(Float num) {
String strNum = num.toString();
String endStr = strNum.substring(strNum.indexOf(".") + 1);
String startStr = strNum.substring(0, strNum.indexOf("."));
if (endStr.indexOf("999") >= 0) {
int start = endStr.indexOf("999");
if (start == 0) {
num = Float.parseFloat(startStr) + 1f;
} else {
String a = "0";
String c = "";
while (endStr.startsWith(a)) {
a += "0";
c += "0";
}
endStr = endStr.substring(0, start);
endStr = c + (Integer.parseInt(endStr) + 1) + "";
num = Float.parseFloat(startStr + "." + endStr);
}
} else if (endStr.indexOf("000") >= 0) {
int start = endStr.indexOf("000");
if (start == 0) {
num = Float.parseFloat(startStr);
} else {
num = Float.parseFloat(strNum.substring(0, strNum.indexOf("000")));
}
}
return num;
}
/**
* java判断字符是否是全部由数字小写字母大写字母特殊符号组成 正则表达式判断
*
* @param arr
*/
public static void judgeA(String arr) {
// TODO Auto-generated method stub
String str1 = "abcdfjijgiaj";
String str2 = "0AOGVNDIJEIO";
String str3 = "12345465870";
String str4 = "@#$^^%^&*(";
Pattern pattern1 = Pattern.compile("[a-z]*");
Pattern pattern2 = Pattern.compile("[A-Z]*");
Pattern pattern3 = Pattern.compile("[0-9]*");
Pattern pattern4 = Pattern.compile("\\p{Punct}+");
Matcher matcher1 = pattern1.matcher(str1);
Matcher matcher2 = pattern2.matcher(str2);
Matcher matcher3 = pattern3.matcher(str3);
Matcher matcher4 = pattern4.matcher(str4);
if (matcher1.matches()) {
System.out.println("全是小写字母");
} else {
System.out.println("不全是小写字母");
}
if (matcher2.matches()) {
System.out.println("全是大写字母");
} else {
System.out.println("不全是大写字母");
}
if (matcher3.matches()) {
System.out.println("全是数字");
} else {
System.out.println("不全是数字");
}
if (matcher4.matches()) {
System.out.println("全是特殊符号");
} else {
System.out.println("不全是特殊符号");
}
// 判断字符串是否全部由数字组成java自带方法判断
boolean flag = true;
for (int i = str3.length() - 1; i >= 0; i--) {
if (!Character.isDigit(str3.charAt(i))) {
flag = false;
}
}
if (flag) {
System.out.println(str3 + "全部是数字");
}
}
}