<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    RANDY

    Nothing is difficulty if you put your heat into it!!!
    posts - 3, comments - 1, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    字符串反轉遇到的問題

    Posted on 2006-10-09 22:24 劉恒濤 閱讀(509) 評論(0)  編輯  收藏
      一同學問了一個字符串反轉的問題!開始覺得很簡單的!
      一種思路就是獲得字符串在將它轉換成為字符串數組在用循環將他輸出就可以了!
     我作了兩個頁面,一個用于輸入,一個用于處理;
      我最初是這么寫的:
       我正序輸出時是正確的即
    <%
    ? for(int i=0;i<=s.lenth.i++)
    %>
    第一次嘗試:
     ? <%
    ? String fanzhuan=request.getParameter("fanxu");
    ????? if((fanzhuan.length()==0)&&(fanzhuan=="")){
    ???? out.print("TextField can't be null");
    ???????? }
    ????? else{
    ??char s[]=fanzhuan.toCharArray();
    ??String fanzhuan2="";
    ??int j=s.length;
    ??for(int i=j;i>0;i--)//老出越界的錯誤暈!
    ??{
    ???fanzhuan2+=s[i];
    ??}
    ??? out.print(fanzhuan2);
    ??}
    %>

    出錯信息:
    java.lang.ArrayIndexOutOfBoundsException: 3
    	org.apache.jsp.fanxu2_jsp._jspService(fanxu2_jsp.java:58)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    第二次嘗試:
    ?
    ?for(int i=j;i>0;--i)//老出越界的錯誤暈!
    ??{

    ???fanzhuan2+=s[i];
    ??}
    出錯信息:
    java.lang.ArrayIndexOutOfBoundsException: 3
    	org.apache.jsp.fanxu2_jsp._jspService(fanxu2_jsp.java:58)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    第四次嘗試:
    ?for(int i=j;i>-1;--i)//老出越界的錯誤暈!
    ??{

    ???fanzhuan2+=s[i];
    ??}
    出錯信息:
    java.lang.ArrayIndexOutOfBoundsException: 3
    	org.apache.jsp.fanxu2_jsp._jspService(fanxu2_jsp.java:58)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    第五次嘗試:
    ?for(int i=j;i>1;--i)//老出越界的錯誤暈!
    ??{

    ???fanzhuan2+=s[i];
    ??}
    java.lang.ArrayIndexOutOfBoundsException: 3 org.apache.jsp.fanxu2_jsp._jspService(fanxu2_jsp.java:58) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:810) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:810) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 第六次嘗試
       ?for(int i=j;i>1;)//老出越界的錯誤暈!
    ??{
    ???i=i-1;
    ???fanzhuan2+=s[i];
    ??}
    這次終于成功了
    第七次測試

    ?? while(j>0)
    ?? {
    ???? j--;
    ???? fanzhuan2+=s[j];
    ??? }???
    ??? out.print(fanzhuan2);
    ???????? }
    成功!
    第八次測試
    do {???
    ??? j--;???
    ???? fanzhuan2+=s[j];
    ??????? }??
    ??????? while(j>0);???
    ???????? out.print(fanzhuan2);????
    成功!

    第九次測試:
    ???? do {???
    ?
    ???? fanzhuan2+=s[j];
    ??????????? j--;??
    ??????? }??
    ??????? while(j>0);??
    出錯同上!



     由上面的嘗試可以發現問題是出在i--
    是在那里運算的要是在
    fanzhuan2+=s[j]; 之前則正確!
    在之后則出現越界的錯誤!

      很簡單的問題就是因為獲得length是出組的長度而不是最后一個元素的位置!應減一!
    可見還是因為對for語句和數組概念的理解不深刻!


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产成人精品日本亚洲18图| 国内成人精品亚洲日本语音| 亚洲中文字幕无码中文字| 国产免费爽爽视频在线观看| 日本免费人成黄页网观看视频| 亚洲18在线天美| 久久久www成人免费毛片| 国产A在亚洲线播放| a色毛片免费视频| 久久亚洲精品中文字幕无码| 午夜免费福利小电影| 亚洲精品综合久久| 无码精品人妻一区二区三区免费| 亚洲午夜精品久久久久久浪潮| www免费插插视频| 亚洲国语精品自产拍在线观看| 日韩精品免费一线在线观看| 最近中文字幕mv免费高清电影| 亚洲AV无码精品色午夜果冻不卡 | 亚洲欧洲精品视频在线观看| 四虎最新永久免费视频| 亚洲无mate20pro麻豆| 免费一级肉体全黄毛片| 中国毛片免费观看| 亚洲国产模特在线播放| 美女内射无套日韩免费播放| 激情综合亚洲色婷婷五月| 国产免费久久精品| a毛片视频免费观看影院| 亚洲另类精品xxxx人妖| 国产精品酒店视频免费看| 国产麻豆一精品一AV一免费| 亚洲日韩乱码久久久久久| 中国xxxxx高清免费看视频| 亚洲欧美日韩中文字幕一区二区三区| 深夜国产福利99亚洲视频| 1000部啪啪毛片免费看| 国产亚洲精品美女久久久久久下载| 日本亚洲欧洲免费天堂午夜看片女人员| 亚洲网站在线免费观看| 成人久久久观看免费毛片|