The String class is provided in the Java library.
Provide your own implementation (name the new class MyString2) with one data field, array of
characters, and the following methods:
public MyString2(String s); constructor
public MyString2 substring(int begin); create a new string starts at begin and return it.
public MyString2 toUpperCase(); convert all characters in a string to uppercase and return it.
public char[] toChars(); return string as an array of characters.
public static MyString2 valueOf(boolean b); convert b value to string and return it.
Do not use any method from String, StringBuilder, or StringBuffer
public class MyString2 {
private char[] data;
public MyString2() {
this.data = new char[0];
}
public MyString2(String s) {
data = new char[s.length()];
for (int i = 0; i < s.length(); i++) {
data[i] = s.charAt(i);
}
}
public MyString2 substring(int begin) {
char[] result = new char[data.length - begin];
for (int i = begin; i < data.length; i++) {
result[i - begin] = data[i];
}
MyString2 myString = new MyString2();
myString.data = result;
return myString;
}
public MyString2 toUpperCase() {
char[] result = new char[data.length];
for (int i = 0; i < data.length; i++) {
result[i] = Character.toUpperCase(data[i]);
}
MyString2 myString = new MyString2();
myString.data = result;
return myString;
}
public char[] toChars() {
char[] result = new char[data.length];
for (int i = 0; i < data.length; i++) {
result[i] = data[i];
}
return result;
}
public static MyString2 valueOf(boolean b) {
if (b) {
return new MyString2("true");
} else {
return new MyString2("false");
}
}
}
The String class is provided in the Java library. Provide your own implementation (name the new...