⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 小技巧。。.txt

📁 java开发中经常用到的代码
💻 TXT
字号:
import java.util.Arrays; 
import java.util.Comparator; 
import java.util.LinkedHashSet; 
import java.util.Set; 
import java.util.regex.Matcher; 
import java.util.regex.Pattern; 

public class CommonBaseCode { 
/** 
* 判断任意一个整数是否素数 
* 
* @param n 
* @return boolean 
*/ 
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 n! 
*/ 
public static int factorial(int n) { 
if (n == 1) { 
return 1; 
} 
return n * factorial(n - 1); 
} 

/** 
* 将指定byte数组以16进制的形式打印到控制台 
* 
* @param hint 
*            String 
* @param b 
*            byte[] 
* @return void 
*/ 
public static void printHexString(String hint, byte[] b) { 
System.out.print(hint); 
for (int i = 0; i < b.length; i++) { 
String hex = Integer.toHexString(b[i] & 0xFF); 
if (hex.length() == 1) { 
hex = '0' + hex; 
} 
System.out.print(hex.toUpperCase() + " "); 
} 
System.out.println(""); 
} 

/** 
* 人民币转成大写 
* 
* @param value 
* @return String 
*/ 
public static String hangeToBig(double value) { 
char[] hunit = { '拾', '佰', '仟' }; // 段内位置表示 
char[] vunit = { '万', '亿' }; // 段名表示 
char[] digit = { '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖' }; // 数字表示 
long midVal = (long) (value * 100); // 转化成整形 
String valStr = String.valueOf(midVal); // 转化成字符串 

String head = valStr.substring(0, valStr.length() - 2); // 取整数部分 
String rail = valStr.substring(valStr.length() - 2); // 取小数部分 

String prefix = ""; // 整数部分转化的结果 
String suffix = ""; // 小数部分转化的结果 
// 处理小数点后面的数 
if (rail.equals("00")) { // 如果小数部分为0 
suffix = "整"; 
} else { 
suffix = digit[rail.charAt(0) - '0'] + "角" 
+ digit[rail.charAt(1) - '0'] + "分"; // 否则把角分转化出来 
} 
// 处理小数点前面的数 
char[] chDig = head.toCharArray(); // 把整数部分转化成字符数组 
char zero = '0'; // 标志'0'表示出现过0 
byte zeroSerNum = 0; // 连续出现0的次数 
for (int i = 0; i < chDig.length; i++) { // 循环处理每个数字 
int idx = (chDig.length - i - 1) % 4; // 取段内位置 
int vidx = (chDig.length - i - 1) / 4; // 取段位置 
if (chDig[i] == '0') { // 如果当前字符是0 
zeroSerNum++; // 连续0次数递增 
if (zero == '0') { // 标志 
zero = digit[0]; 
} else if (idx == 0 && vidx > 0 && zeroSerNum < 4) { 
prefix += vunit[vidx - 1]; 
zero = '0'; 
} 
continue; 
} 
zeroSerNum = 0; // 连续0次数清零 
if (zero != '0') { // 如果标志不为0,则加上,例如万,亿什么的 
prefix += zero; 
zero = '0'; 
} 
prefix += digit[chDig[i] - '0']; // 转化该数字表示 
if (idx > 0) 
prefix += hunit[idx - 1]; 
if (idx == 0 && vidx > 0) { 
prefix += vunit[vidx - 1]; // 段结束位置应该加上段名如万,亿 
} 
} 

if (prefix.length() > 0) 
prefix += '圆'; // 如果整数部分存在,则有圆的字样 
return prefix + suffix; // 返回正确表示 
} 

/** 
* 全角字符转半角字符 
* 
* @param QJStr 
* @return String 
*/ 
public static final String QJToBJChange(String QJStr) { 
char[] chr = QJStr.toCharArray(); 
String str = ""; 
for (int i = 0; i < chr.length; i++) { 
chr[i] = (char) ((int) chr[i] - 65248); 
str += chr[i]; 
} 
return str; 
} 

/** 
* 去掉字符串中重复的子字符串 
* 
* @param str 
* @return String 
*/ 
@SuppressWarnings("unused") 
private static String removeSameString(String str) { 
Set <String> mLinkedSet = new LinkedHashSet <String>(); 
String[] strArray = str.split(" "); 
StringBuffer sb = new StringBuffer(); 

for (int i = 0; i < strArray.length; i++) { 
if (!mLinkedSet.contains(strArray[i])) { 
mLinkedSet.add(strArray[i]); 
sb.append(strArray[i] + " "); 
} 
} 
System.out.println(mLinkedSet); 
return sb.toString().substring(0, sb.toString().length() - 1); 
} 

/** 
* 判断是不是合法手机 handset 手机号码 
*/ 
public static boolean isHandset(String handset) { 
try { 
if (!handset.substring(0, 1).equals("1")) { 
return false; 
} 
if (handset == null | | handset.length() != 11) { 
return false; 
} 
String check = "^[0123456789]+$"; 
Pattern regex = Pattern.compile(check); 
Matcher matcher = regex.matcher(handset); 
boolean isMatched = matcher.matches(); 
if (isMatched) { 
return true; 
} else { 
return false; 
} 
} catch (RuntimeException e) { 
return false; 
} 
} 

/** 
* 从指定的字符串中提取Email content 指定的字符串 
*/ 
public static String parse(String content) { 
String email = null; 
if (content == null | | content.length() < 1) { 
return email; 
} 
// 找出含有@ 
int beginPos; 
int i; 
String token = "@"; 
String preHalf = ""; 
String sufHalf = ""; 

beginPos = content.indexOf(token); 
if (beginPos > -1) { 
// 前项扫描 
String s = null; 
i = beginPos; 
while (i > 0) { 
s = content.substring(i - 1, i); 
if (isLetter(s)) 
preHalf = s + preHalf; 
else 
break; 
i--; 
} 
// 后项扫描 
i = beginPos + 1; 
while (i < content.length()) { 
s = content.substring(i, i + 1); 
if (isLetter(s)) 
sufHalf = sufHalf + s; 
else 
break; 
i++; 
} 
// 判断合法性 
email = preHalf + "@" + sufHalf; 
if (isEmail(email)) { 
return email; 
} 
} 
return null; 
} 

/** 
* 判断是不是合法Email email Email地址 
*/ 
public static boolean isEmail(String email) { 
try { 
if (email == null | | email.length() < 1 | | email.length() > 256) { 
return false; 
} 

String check = "^([0-9a-zA-Z]+[_.0-9a-zA-Z-]+)@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2,3})$"; 
Pattern regex = Pattern.compile(check); 
Matcher matcher = regex.matcher(email); 
boolean isMatched = matcher.matches(); 
if (isMatched) { 
return true; 
} else { 
return false; 
} 
} catch (RuntimeException e) { 
return false; 
} 
} 

/** 
* 判断是不是合法字符 c 要判断的字符 
*/ 
public static boolean isLetter(String c) { 
boolean result = false; 

if (c == null | | c.length() < 0) { 
return false; 
} 
// a-z 
if (c.compareToIgnoreCase("a") >= 0 && c.compareToIgnoreCase("z") <= 0) { 
return true; 
} 
// 0-9 
if (c.compareToIgnoreCase("0") >= 0 && c.compareToIgnoreCase("9") <= 0) { 
return true; 
} 
// . - _ 
if (c.equals(".") | | c.equals("-") | | c.equals("_")) { 
return true; 
} 
return result; 
} 

/** 
* 对给定的字符数组进行字典排序 
* 
* @param chs 
*            目标字符数组 
* @param upperFisrt 
*            大写字母是否在前 
* @return 排序后的字符数组 
*/ 
public static char[] sortChars(char[] chs, final boolean upperFisrt) { 
Character[] srcArray = new Character[chs.length]; 
char[] retArray = new char[chs.length]; 
int index = 0; 

for (char ch : chs) { 
srcArray[index++] = ch; 
} 

Arrays.sort(srcArray, new Comparator <Character>() { 
public int compare(Character c1, Character c2) { 
char ch1 = Character.toUpperCase(c1); 
char ch2 = Character.toUpperCase(c2); 

if (ch1 == ch2) { 
int tempRet = c1.charValue() - c2.charValue(); 
return upperFisrt ? tempRet : -tempRet; 
} else { 
return ch1 - ch2; 
} 
} 
}); 

index = 0; 

for (char ch : srcArray) { 
retArray[index++] = ch; 
} 

return retArray; 
} 

public static void main(String[] args) { 
System.out.print(hangeToBig(166666665555.34)); 
} 

} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -