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...


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;
    }


}

Jun 03, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here