HTTP Status 500 - An exception occurred processing JSP page /index.jsp at line 63
type Exception report
message An exception occurred processing JSP page /index.jsp at line 63
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 63
60: {
61: int temp = (int)((long)(number / (long)Math.pow(10, i)) % 10);//鑾峰彇绗琲浣嶇殑鏁板瓧
62: if (i % 4 == 0) result = unitStr[(int)i / 4] + result;//妫�煡鏄惁闇�鍔犱笂涓囨垨浜跨瓑
63: result = cStr[temp] + cStr[10 + i % 4] + result;
64: }
65: result = result.replaceAll("(闆禰鍗佺櫨鍗僝)+", "闆�);
66: result = result.replaceAll("闆秢2,}", "闆�);
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.ArrayIndexOutOfBoundsException: -1
org.apache.jsp.index_jsp.GetChineseString(index_jsp.java:47)
org.apache.jsp.index_jsp._jspService(index_jsp.java:309)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
代码
<%!
public static String select(String sel,String qtype){
if(sel.equals(qtype)){
return "selected=\"selected\"";
}
return "";
}
public static String GetChineseString(long number)
{
String[] cStr =new String[] {"零","一","二","三","四","五","六","七","八","九","","十","百","千"};
String[] unitStr = new String[] { "", "万", "亿", "万", "兆" };
String result = "";
for (int i = 0; i < (number+"").length(); i++)
{
int temp = (int)((long)(number / (long)Math.pow(10, i)) % 10);//获取第i位的数字
if (i % 4 == 0) result = unitStr[(int)i / 4] + result;//检查是否需要加上万或亿等
result = cStr[temp] + cStr[10 + i % 4] + result;
}
result = result.replaceAll("(零[十百千])+", "零");
result = result.replaceAll("零{2,}", "零");
result = result.replaceAll("零([万亿兆])", "$1");
if(result.length()>1&&result.endsWith("零")) result = result.substring(0,result.length()-1);
return result;
}
%>