My code for this work is not working but I couldn't figure out. Please help! Thank you.
public class CustomString {
String myString;
boolean isSet;
public CustomString() {
// TODO Implement constructor
this.myString = null;
this.isSet = false;
}
public String getString() {
// TODO Implement method
if (this.myString != null) {
return this.myString;
}
return null;
}
public void setString(String string) {
// TODO Implement method
if (myString != null) {
this.myString = string;
this.isSet = true;
} else {
this.isSet = false;
}
}
/**
* Returns a new string version of the current string where the alphabetical characters specified in the given arg, are removed.
*
* The alphabetical characters to be removed are case insensitive.
* All non-alphabetical characters are unaffected.
* If the current string is null, empty, or has not been set to a value, this method should return an empty string.
*
* @param arg the string containing the alphabetical characters to be removed from the current string
* @return new string in which the alphabetical characters specified in the arg are removed
*/
public String remove(String arg) {
// TODO Implement method
if (myString==null || myString == "") {
return this.myString;
}
if (myString != null) {
this.myString = myString.replaceAll(arg,"");
System.out.println(myString);
}
return null;
}
/**
* Returns a new string version of the current string where the capitalization is reversed (i.e., lowercase to uppercase,
* and uppercase to lowercase) for the alphabetical characters specified in the given arg.
*
* All non-alphabetical characters are unaffected.
* If the current string is null, empty, or has not been set to a value, this method should return an empty string.
*
* @param arg the string containing the alphabetical characters to have their capitalization reversed in the current string
* @return new string in which the alphabetical characters specified in the arg are reversed
*/
public String reverse(String arg) {
// TODO Implement method
char[] charArray = myString.toCharArray();
for(int i=0; i < chararray.length;="">
if( Character.isUpperCase(charArray[i]) ){
charArray[i] = Character.toLowerCase( charArray[i] );
}else if(Character.isLowerCase(charArray[i]) ){
charArray[i] = Character.toUpperCase( charArray[i] );
}
}
myString = new String(charArray);
return null;
}
/**
* Returns a new string version of the current string where all the letters either >= or <= the="" given="" char="" n,="" are="">=>
*
* The given letter may be a-z or A-Z, inclusive.
* The letters to be removed are case insensitive.
*
* If 'more' is false, all letters less than or equal to n will be removed in the returned string.
* If 'more' is true, all letters greater than or equal to n will be removed in the returned string.
*
* If the current string is null, the method should return an empty string.
* If n is not a letter (and the current string is not null), the method should return an empty string.
*
* @param n char to compare to
* @param more indicates whether letters <= or="">= n will be removed
* @return new string with letters removed
*/
public String filterLetters(char n, boolean more) {
String newStr = "";
for (int i = 0; i < this.mystring.length();="" i++)="">
if (myString.charAt(i) >= n && more) {
newStr = newStr + myString.charAt(i);
} else if (myString.charAt(i) <= n="" &&="" !more)="">=>
newStr = newStr + myString.charAt(i);
}
if(!Character.isLetter(myString.charAt(i))) {
newStr = newStr + myString.charAt(i);
}
}
return newStr;
}
}
=>