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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小洋人最happy 中级黑马   /  2012-11-26 13:01  /  999 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小洋人最happy 于 2012-11-26 16:17 编辑

/*
模拟一个trim方法,去除字符串两端的空格。
*/

class StringTestDemo1
{
        public static void sop(String str)
        {
                System.out.println(str);
        }
        
        public static void Mytrim(String str)
        {
                int start = 0,end = str.length()-1;

               
                 while (start<=end && str.charAt(start)==' ')
                {
                        start++;
                }
                while (start<=end && str.charAt(end) == ' ')
                {
                        end--;
                }

                return str.substring(start,end+1);

        }

        public static void main(String[] args)
        {
               
                String s = "   ab  cd    ";

                sop("("+s+")");

                s = Mytrim(s);

                sop("("+s+")");
        }
}


E:\java\Java1111\day13>javac StringTestDemo1.java
StringTestDemo1.java:26: 错误: 对于结果类型为空的方法, 无法返回值
                return str.substring(start,end+1);
                                    ^
StringTestDemo1.java:37: 错误: 不兼容的类型
                s = Mytrim(s);
                          ^
  需要: String
  找到:    void
2 个错误




评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

2 个回复

倒序浏览
你仔细看你这个函数的声明:
public static void Mytrim(String str)返回值是void类型的,但是你却给它返回了:return str.substring(start,end+1);而且你在main方法中调用这个函数时,还给它赋了一个值s = Mytrim(s);当然会提示错误,把你这个函数的声明中的void改成String就可以了,出现错误了不用着急,java的错误提示是很清楚的,认真阅读一下就知道了...

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
赵红萍 发表于 2012-11-26 13:40
你仔细看你这个函数的声明:
public static void Mytrim(String str)返回值是void类型的,但是你却给它返回了 ...

非常感谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马