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; i++){ 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 removed. * * 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; } }
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; i++){
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 removed.
*
* 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;
}
}
Trending now
This is a popular solution!
Step by step
Solved in 2 steps