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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 叶征东 中级黑马   /  2012-8-5 23:19  /  1782 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Demo
{
        public static void main(String[] args)
        {
  
                System.out.println("Holle world");
        }
       public static void reverse(char[] arr)//反转字符数组
       {
                 for(int start=0,end=arr.length-1;start<end;start++,end--)//(1)为什么此处的length后面不带括号?如果带上则不能通过编译。
                       swap(arr,start,end);
       }
       public static void swap(char[] arr,int x ,int y)
       {
                 char temp=arr[x];
                 arr[x]=arr[y];
                 arr[y]=temp;
       }
       public static String getMaxSubString(String s1,String s2)//获取两个字符串中最大的相同子串。
       {
                 String max="",min="";
                 max=(s1.length()>s2.length())?s1:s2;
                 min=(max==s1)?s2:s1;
                 for(int x=0;x<min.length();x++)
                {
                         for(int y=0,z=min.length()-x;y!=z;y++,z++)//(2)而这儿的length后面却带上了带括号。如果不带上则不能通过编译
                         {
                                    if(s1.contains(min.substring(y,z)))
                                               return min.substring(y,z);
                         }
               }
                return "";
        }
}
(1)带上括号和(2)不带上括号,都会提示找不到符号,如图:
能为我解释下么?谢谢。

5 个回复

倒序浏览
数组有个length的属性,注意是属性哦,而不方法,访问属于是用.length来访问
而字符串有length的方法,2个是不同,调用方法肯定要加()
还有1点就是你要注意length的值和下标的值是不同的,下标从0开始,而length是从1开始计算
下标的最大长度是length的值-1
回复 使用道具 举报
本帖最后由 李志广 于 2012-8-5 23:26 编辑

length是在数组中获取数组的长度;length()是用来获取字符串的长度的方法 。希望对你有所帮助!!!

回复 使用道具 举报
余明辉 发表于 2012-8-5 23:23
数组有个length的属性,注意是属性哦,而不方法,访问属于是用.length来访问
而字符串有length的方法,2个 ...

懂了,谢谢。
回复 使用道具 举报
(1)处的arr是一个数组,在java中规定了 数组有一个length属性,这个属性用来表示这个数组的长度。如果在 (1)这里带上括号,很明显违反了java的语法规则,所以会编译失败的。
(2)处的min是一个字符串对象,同样原理 在字符串类中规定了一个length()函数用来获取这个字符串对象的长度。如果你在(2)处不带括号,同样也是违反了java的语法规则,所以才会编译失败的。
其实楼主大可不必纠结于这类的问题,因为这类问题都是java硬性规定好的语法。只要平时多练练手记住这些语法规则就偶了。
回复 使用道具 举报
牛杨 发表于 2012-8-5 23:35
(1)处的arr是一个数组,在java中规定了 数组有一个length属性,这个属性用来表示这个数组的长度。如果在  ...

以前没有碰到过这个问题,也没有往深处去想,今天带括号的和不带括号的同时碰到了,就有疑问了。谢谢了。




问题已解决。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马