某外包公司筆試題

          編程題:去掉字符串中多余的"0",
          例如
          0-->0
          3-->3
          000-->0
          01010-->101
          301100-->3011
          00103-->103
          1020.00-->1020
          001.0100-->1.01
          00.003-->0.003
          若字符串中字符(,E+-)則為非法字符串。

          public class RemoveZero {

              
          /**
                   * 
          @param args
                   
          */
              
          static String removeFirst(String str) {
              
          while (true) {
                  
          if (str.length() > 1) {
                  
          char c = str.charAt(0);
                  
          char nextC = str.charAt(1);
                  
          if (c != '0') {
                      
          break;
                  } 
          else {
                      
          if (nextC == '.') {
                      
          break;
                      } 
          else {
                      str 
          = str.substring(1);
                      }
                  }
                  } 
          else {
                  
          break;
                  }
              }
              
          return str;
              }

              
          static String removeLast(String str) {
              
          while (true) {
                  
          if (str.length() > 1) {
                  
          char c = str.charAt(str.length() - 1);
                  
          char beforeC = str.charAt(str.length() - 2);
                  
          if (c != '0') {
                      
          break;
                  } 
          else {
                      
          if (beforeC == '.') {
                      str 
          = str.substring(0, str.length() - 2);
                      
          break;
                      } 
          else {
                      str 
          = str.substring(0, str.length() - 1);
                      }
                  }
                  } 
          else {
                  
          break;
                  }
              }
              
          return str;
              }

              
          static boolean isCorrect(String str) {
              
          return !str.contains("E"&& !str.contains(","&& !str.contains("+")
                  
          && !str.contains("-");
              }

              
          public static void main(String[] args) {
              String str 
          = "003E+3";
              
          if (isCorrect(str)) {
                  System.out.println(str 
          + "-->" + removeLast(removeFirst(str)));
              } 
          else {
                  System.out.println(
          "字符串中含有非法字符(,E+-)!");
              }
              str 
          = "0";
              
          if (isCorrect(str)) {
                  System.out.println(str 
          + "-->" + removeLast(removeFirst(str)));
              } 
          else {
                  System.out.println(
          "字符串中含有非法字符,E+-!");
              }
              str 
          = "3";
              
          if (isCorrect(str)) {
                  System.out.println(str 
          + "-->" + removeLast(removeFirst(str)));
              } 
          else {
                  System.out.println(
          "字符串中含有非法字符,E+-!");
              }
              str 
          = "000";
              
          if (isCorrect(str)) {
                  System.out.println(str 
          + "-->" + removeLast(removeFirst(str)));
              } 
          else {
                  System.out.println(
          "字符串中含有非法字符,E+-!");
              }
              str 
          = "01010";
              
          if (isCorrect(str)) {
                  System.out.println(str 
          + "-->" + removeLast(removeFirst(str)));
              } 
          else {
                  System.out.println(
          "字符串中含有非法字符,E+-!");
              }
              str 
          = "301100";
              
          if (isCorrect(str)) {
                  System.out.println(str 
          + "-->" + removeLast(removeFirst(str)));
              } 
          else {
                  System.out.println(
          "字符串中含有非法字符,E+-!");
              }
              str 
          = "00103";
              
          if (isCorrect(str)) {
                  System.out.println(str 
          + "-->" + removeLast(removeFirst(str)));
              } 
          else {
                  System.out.println(
          "字符串中含有非法字符,E+-!");
              }
              str 
          = "1020.00";
              
          if (isCorrect(str)) {
                  System.out.println(str 
          + "-->" + removeLast(removeFirst(str)));
              } 
          else {
                  System.out.println(
          "字符串中含有非法字符,E+-!");
              }
              str 
          = "001.0100";
              
          if (isCorrect(str)) {
                  System.out.println(str 
          + "-->" + removeLast(removeFirst(str)));
              } 
          else {
                  System.out.println(
          "字符串中含有非法字符,E+-!");
              }
              str 
          = "00.003";
              
          if (isCorrect(str)) {
                  System.out.println(str 
          + "-->" + removeLast(removeFirst(str)));
              } 
          else {
                  System.out.println(
          "字符串中含有非法字符,E+-!");
              }
              }
          }


          posted on 2008-03-05 14:21 我為J狂 閱讀(436) 評論(0)  編輯  收藏 所屬分類: JavaSE


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


          網站導航:
           
          <2025年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統計

          常用鏈接

          留言簿(11)

          隨筆分類(48)

          文章分類(29)

          常去逛逛

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 淳化县| 黄山市| 延长县| 重庆市| 个旧市| 桂阳县| 镶黄旗| 融水| 含山县| 同德县| 迁安市| 磐石市| 芜湖县| 利川市| 蒲江县| 花垣县| 得荣县| 锦屏县| 澄迈县| 芦山县| 临湘市| 句容市| 常熟市| 阿合奇县| 车险| 苗栗县| 江永县| 灵寿县| 郴州市| 顺义区| 东阿县| 察雅县| 阜城县| 乐昌市| 财经| 文成县| 安庆市| 洪雅县| 荃湾区| 农安县| 淮阳县|