116、罵戰
書(shū)迷正在閱讀:止嶼、捉不緊更加固執、總攻vs總受(H)、食傾天下之養太子、讀心、說(shuō)好的結婚呢、我男朋友是直男(H)、老夫的少女心、你給的愛(ài),很喜歡、溫柔刀與斷情水(H)
請稍后閱讀,章節錯誤 packagecom.z 002 003 importjava.text.DecimalFormat; 004 importjava.text.NumberFormat; 005 importjava.text.SimpleDateFormat; 006 importjava.util.regex.Matcher; 007 importjava.util.regex.Pattern; 008 009 publicclassReportUtil{ 010 011 /** 012 *格式化日期 013 *@paramobj日期對象 014 *@paramformat格式化字符串 015 *@return 016 */ 017 publicstaticStringformatDate(Objectobj,Stringformat){ 018 if(obj==null) 019 return““; 020 021 Strings=String.valueOf(obj); 022 if(format==null||““.equals(format.trim())){ 023 format=“yyyy-MM-dd“; 024 } 025 try{ 026 SimpleDateFormatdateFormat=newSimpleDateFormat(format); 027 s=dateFormat.format(obj); 028 }catch(Exceptione){ 029 } 030 returns; 031 } 032 033 /** 034 *格式化數字 035 *@paramobj數字對象 036 *@paramformat格式化字符串 037 *@return 038 */ 039 publicstaticStringformatNumber(Objectobj,Stringformat){ 040 if(obj==null) 041 return““; 042 043 Strings=String.valueOf(obj); 044 if(format==null||““.equals(format.trim())){ 045 format=“#.00“; 046 } 047 try{ 048 if(objinstanceofDouble||objinstanceofFloat){ 049 if(format.contains(“%“)){ 050 NumberFormatnumberFormat=NumberFormat.getPercentInstance(); 051 s=numberFormat.format(obj); 052 }else{ 053 DecimalFormatdecimalFormat=newDecimalFormat(format); 054 s=decimalFormat.format(obj); 055 } 056 }else{ 057 NumberFormatnumberFormat=NumberFormat.getInstance(); 058 s=numberFormat.format(obj); 059 } 060 }catch(Exceptione){ 061 } 062 returns; 063 } 064 065 /** 066 *計算字符串四則運算表達式 067 *@paramstring 068 *@return 069 */ 070 publicstaticStringcomputeString(Stringstring){ 071 StringregexCheck=“[\\(\\)\\d\\ \\-\\*/\\.]*“;//是否是合法的表達式 072 073 if(!Pattern.matches(regexCheck,string)) 074 returnstring; 075 076 Matchermatcher=null; 077 Stringtemp=““; 078 intindex=-1; 079 Stringregex=“\\([\\d\\.\\ \\-\\*/] \\)“;//提取括號表達式 080 string=string.replaceAll(“\\s“,““);//去除空格 081 try{ 082 Patternpattern=Patternpile(regex); 083 //循環(huán)計算所有括號里的表達式 084 while(pattern.matcher(string).find()){ 085 matcher=pattern.matcher(string); 086 while(matcher.find()){ 087 temp=matcher.group(); 088 index=string.indexOf(temp); 089 string=string.substring(0,index) 090 computeStirngNoBracket(temp) 091 string.substring(index temp.length()); 092 } 093 } 094 //最后計算總的表達式結果 095 string=computeStirngNoBracket(string); 096 }catch(NumberFormatExceptione){ 097 returne.getMessage();(未完待續。)