代码实现
package com.datastructure;
public class MyString{
public static final int MAX_LENGTH = 10;
int length;
char[] data;
public MyString(){
length = 0;
data = new char[MAX_LENGTH];
}//of the first constructor
public MyString(String paraString){
data = new char[MAX_LENGTH];
length = paraString.length();
for(int i = 0;i < length;i++){
data[i] = paraString.charAt(i);
}// of for i
}//of the second constructor
public String toString(){
String resultString = "";
for(int i = 0;i<length;i++){
resultString += data[i];
}// of for i
return resultString;
}// of toString
public int locate(MyString paraMyString){
boolean tempMatch = false;
for(int i = 0; i<length - paraMyString.length + 1;i++){
tempMatch = true;
for(int j = 0; j < paraMyString.length ; j++ ){
if(data[i+j]!= paraMyString.data[j]){
tempMatch = false;
break;
}
}//of for j
if(tempMatch){
return i;
}
}// of for i
return -1;
}
public MyString substring(int paraStartPosition,int paraLength){
if(paraStartPosition + paraLength > length){
System.out.println("The bound is exceeded.");
return null;
}
MyString resultMyString = new MyString();
resultMyString.length = paraLength;
for(int i = 0;i < paraLength;i++){
resultMyString.data[i]=data[paraStartPosition + i];
}// of for i
return resultMyString;
}// of substring
public static void main(String args[]){
MyString tempFirstString = new MyString("I like ik.");
MyString tempSecondString = new MyString("ik");
int tempPosition = tempFirstString.locate(tempSecondString);
System.out.println("The position of \"" + tempSecondString + "\" in \"" + tempFirstString + "\" is: " + tempPosition);
MyString tempThirdString = new MyString("ki");
tempPosition = tempFirstString.locate(tempThirdString);
System.out.println("The position of \"" + tempThirdString + "\" in \"" + tempFirstString+ "\" is: " + tempPosition);
tempThirdString = tempFirstString.substring(1, 2);
System.out.println("The substring is: \"" + tempThirdString + "\"");
tempThirdString = tempFirstString.substring(5, 5);
System.out.println("The substring is: \"" + tempThirdString + "\"");
tempThirdString = tempFirstString.substring(5, 6);
System.out.println("The substring is: \"" + tempThirdString + "\"");
}//of main
}// of class
运行结果