黑马程序员技术交流社区
标题:
有关String的问题
[打印本页]
作者:
FINE
时间:
2015-1-2 20:11
标题:
有关String的问题
public static void main(String[] args){
String str = "mynameiswangyunti";
String st = "iebgemefieiia";
System.out.println(getsub(str,st));
}
public static String getsub(String str,String st){
for(int x =0;x<st.length();x++){
for(int y =0,z=st.length()-x;z!=st.length()+1;y++,z++){
//为什么循环条件是z!=st.length()+1;????????
String s=st.substring(y,z);
if(str.contains(s))
return s;
}
}
return " ";
这是毕老师视频中的原题,题目是找出两个字符串中相同的字符串。为什么循环条件是z!=st.length()+1;????????中间我标出来了。求解答啊一下。
作者:
些许
时间:
2015-1-2 20:23
包含头不包含尾 听说过没啊? public String substring(int beginIndex, int endIndex)
参数:
beginIndex - 起始索引(包括)。
endIndex - 结束索引(不包括)。
意思是y只能走到st.length() 然而切字符串的时候切到st.length() -1
作者:
郑豪
时间:
2015-1-2 20:31
应该是为了不让循环到最后出现角标越界的异常吧!!
z=st.length()-x--------外循环里X每次自增1.到st.length()-1为止.
内循环中z++。。每次自增1.。。
z!=st.length()+1。。。。为了不让他自增超出角标范围
假设st.length()=10
z=10-X。。(10-1)
z!=10+1
作者:
郑豪
时间:
2015-1-2 20:32
郑豪 发表于 2015-1-2 20:31
应该是为了不让循环到最后出现角标越界的异常吧!!
z=st.length()-x--------外循环里X每次自增1.到st.leng ...
不知道我这样理解是否正确。。不对请见谅
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2