本帖最后由 张世钦 于 2013-3-18 17:58 编辑
首先,s.charAt();的返回数据类型是char,你用String跟他equals是没用的,直接break;
还有:char是基本数据类型,没有equals方法,你必须用它的包装类Character
更改后的代码如下,希望对你有帮助-
- public static String trimImitate(String s) {
- int start = 0;
- int end = 0;
- Character ch = ' ';//用包装类定义空格
- for (int x = 0; x < s.length(); x++) {
- if (ch.equals(s.charAt(x))) {//用包装类去equals
- start = x+1;//x只是记录了空格的位置,从有效位开始取要+1
- } else{
- break;
- }
- }
- for (int y = s.length() - 1; y >= 0; y--) {
- if (ch.equals(s.charAt(y))) {//用包装类去equals
- end = y; //substring是包含头不包含尾,所有这里的end不用处理,直接会取到前面的有效位
- } else {
- break;
- }
- }
- return s.substring(start, end);
- }
复制代码 |