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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

毕老师的基础视频中,string字符串部分,在获得两个字符串中最大子串的代码有点不明白  ,下面代码标红的部分是什么意思
public static String getMaxSubstring(String str1,String str2){
        for(int x=0;x<str2.length();x++){
            for(int y=0,z=str2.length()-x;z!=str2.length();y++,z++){
                String temp = str2.substring(y, z);
                if(str1.contains(temp))
                    return temp;
            }
        }
        return "";
    }   


2 个回复

正序浏览
这样理解,截取y到z这么长,用y=0开始截取。然后y和z往右挪,到什么时候停呢?自然是z到str2串的结尾处时。尾角标时length()-1,所以到lengt()停。
回复 使用道具 举报
    String temp = str2.substring(y, z);  这句代码的意思是:截取字符串str2 中从y处至z处的子字符串,如果y=0,z=str2.length()的情况下,得到的就不是str2的子字符串了,而是str2的本身了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马