请教在Java中该如何实现MyString1类中的这个函数?如下所示!

public MyString1 substring(int begin,int end) //提取子串
{
}

慕无忌1623718
浏览 304回答 2
2回答

慕沐林林

不知道你说的实现是怎么个实现?如果只是调用的话 str.subString(begin,end)就可以了,如果是java的底层实现的话,下面是来自java.lang.String的代码:public&nbsp;String&nbsp;substring(int&nbsp;beginIndex,&nbsp;int&nbsp;endIndex)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(beginIndex&nbsp;<&nbsp;0)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;StringIndexOutOfBoundsException(beginIndex);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(endIndex&nbsp;>&nbsp;count)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;StringIndexOutOfBoundsException(endIndex);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(beginIndex&nbsp;>&nbsp;endIndex)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;StringIndexOutOfBoundsException(endIndex&nbsp;-&nbsp;beginIndex);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;((beginIndex&nbsp;==&nbsp;0)&nbsp;&&&nbsp;(endIndex&nbsp;==&nbsp;count))&nbsp;?&nbsp;this&nbsp;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new&nbsp;String(offset&nbsp;+&nbsp;beginIndex,&nbsp;endIndex&nbsp;-&nbsp;beginIndex,&nbsp;value);&nbsp;&nbsp;&nbsp;&nbsp;}然后调用String的一个私有构造器://&nbsp;Package&nbsp;private&nbsp;constructor&nbsp;which&nbsp;shares&nbsp;value&nbsp;array&nbsp;for&nbsp;speed.&nbsp;&nbsp;&nbsp;&nbsp;String(int&nbsp;offset,&nbsp;int&nbsp;count,&nbsp;char&nbsp;value[])&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;this.value&nbsp;=&nbsp;value;&nbsp;&nbsp;&nbsp;&nbsp;this.offset&nbsp;=&nbsp;offset;&nbsp;&nbsp;&nbsp;&nbsp;this.count&nbsp;=&nbsp;count;&nbsp;&nbsp;&nbsp;&nbsp;}

莫回无

给你个例子,你参考下public&nbsp;class&nbsp;$&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;str&nbsp;=&nbsp;"abcdefg";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(substring(str,&nbsp;0,&nbsp;1));&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;static&nbsp;String&nbsp;substring(String&nbsp;str,&nbsp;int&nbsp;begin,&nbsp;int&nbsp;end)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char[]&nbsp;ch&nbsp;=&nbsp;str.toCharArray();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuffer&nbsp;buf&nbsp;=&nbsp;new&nbsp;StringBuffer();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;begin;&nbsp;i&nbsp;<&nbsp;end;&nbsp;i++)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf.append(ch[i]);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;buf.toString();&nbsp;&nbsp;&nbsp;&nbsp;}}
打开App,查看更多内容
随时随地看视频慕课网APP