A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 pifuhanshu 于 2014-3-21 18:30 编辑
  1. /**自定义一个方法返回一个数组中前后空格
  2. * @author admin
  3. *思路:
  4. *                         1.定义2个变量start、end分别表示开始和结束位置的字符位数
  5. *         2.然后分别对开始结束位置是否是空格进行判断
  6. *                                 如果开始的位置是空格,start++
  7. *                 如果结束的位置是空格,end--
  8. *                 直至找到不是空格的位置,然后调用subString()返回所要截取的
  9. *                 字符串。
  10. */
  11. public class StringTest4 {

  12.         /**
  13.          * @param args
  14.          */
  15.         public static void main(String[] args) {
  16.                 String    str="   ad fdsaa   ";
  17.                 String                sub=myStrim(str);
  18.                 System.out.println("sub="+"-"+sub+"-");
  19.         }
  20. /**
  21. * 自定义一个myStrim()方法返回去除空格的字符串
  22. * @param str1
  23. * @return
  24. */
  25.         public static String myStrim(String str1) {
  26.                 //定义变量分别表示String类字符串的开始处和结尾处
  27.                 int  start=0, end=str1.length()-1;
  28.                 //如果开始处为空格,开始处的指针自加一
  29.                 while (start<=end&& str1.charAt(start) == " "){
  30.                         start++;
  31.                 }
  32.                 //如果结尾处为空格,结尾处的指针自减一
  33.                 while (start<=end&& str1.charAt(end) ==" "){
  34.                         end--;
  35.                 }
  36.                 //通过调用substring()返回开始和结尾处的字符串
  37.                 String  sub=str1.substring(start, end+1);
  38.                 return  sub;
  39.         }

  40. }
复制代码


评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

3 个回复

倒序浏览
String方法charAt()返回的是字符,而不是字符串,应该用单引号,而不是双引号。
  1. /**
  2. * 自定义一个myStrim()方法返回去除空格的字符串
  3. * @param str1
  4. * @return
  5. */
  6.         public static String myStrim(String str1) {
  7.                 //定义变量分别表示String类字符串的开始处和结尾处
  8.                 int  start=0, end=str1.length()-1;
  9.                 //如果开始处为空格,开始处的指针自加一
  10.                 while (start<=end&& str1.charAt(start) == ' '){   //<----这边应该是单引号
  11.                         start++;
  12.                 }
  13.                 //如果结尾处为空格,结尾处的指针自减一
  14.                 while (start<=end&& str1.charAt(end) ==' '){   //<-----这边也应该是单引号
  15.                         end--;
  16.                 }
  17.                 //通过调用substring()返回开始和结尾处的字符串
  18.                 String  sub=str1.substring(start, end+1);
  19.                 return  sub;
  20.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
while (start<=end&& str1.charAt(start) == " ") charAt()方法得到的是字符不是字符串,字符与字符串所用的引号是不同的

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
额 我也犯了这个错误 看来要注意细节啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马