<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語句和數組概念的理解不深刻!


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


    網站導航:
     
    主站蜘蛛池模板: 精品国产亚洲第一区二区三区| 亚洲卡一卡2卡三卡4卡无卡三| 亚洲色大18成人网站WWW在线播放| 日本zzzzwww大片免费| 亚洲最新视频在线观看| 久久国产精品免费网站| 亚洲人成无码网站| 精品国产污污免费网站 | 四虎影视永久免费观看网址| 最新亚洲精品国偷自产在线| 成人免费毛片观看| 在线观看亚洲精品专区| 亚洲AV无码之日韩精品| 精品国产福利尤物免费| 国产av无码专区亚洲av桃花庵| 免费一级毛片一级毛片aa| 亚洲综合在线成人一区| 亚洲三级高清免费| 国产亚洲一卡2卡3卡4卡新区| 免费在线观看一级毛片| 你懂的网址免费国产| 亚洲日本va午夜中文字幕一区| 黄色永久免费网站| 男男gvh肉在线观看免费| 国产亚洲精久久久久久无码77777 国产亚洲精品成人AA片新蒲金 | 国产亚洲人成网站观看| 99久久精品免费精品国产| 精品亚洲AV无码一区二区三区 | 狠狠亚洲婷婷综合色香五月排名| a级片免费在线观看| 亚洲伦理一二三四| 免费在线观看中文字幕| 一级毛片免费观看不卡视频| 国产亚洲精品资在线| 在线观看免费av网站| 日韩色日韩视频亚洲网站 | 亚洲AV无码专区在线亚| 亚洲精品国产自在久久 | 亚洲免费人成在线视频观看| 亚洲精品国产免费| 一区二区三区在线免费|