Question

Class StringImproved public class StringImproved extends java.lang.Object This program replaces the string class with a mutable...

Class StringImproved


public class StringImproved extends java.lang.Object

This program replaces the string class with a mutable string.

This class represents a character array and provide functionalities need to do basic string processing. It contains an array of characters, representing a textual string.

Overview

In Java, Strings are a great device for storing arrays of characters. One limitation of Strings in Java, however (there is always at least one), is that they are immutable (ie. they cannot be changed once created). Your mission is to create a mutable String Class (called StringImproved) with some clever features. You will also need to ensure that your program is bug free. Your StringImproved Class should be uncrashable as possible. If your code detects faulty/incorrect input it should handle it as instructed in this java API

Data Structure

To make your life easier you will be provided with an API specification (just like the JavaDocs you use for your programming). You must use a char array to store your String in your Class. You are not permitted to use any collection Classes in this assignment. You will need to implement the entire class based on the API specification. This class will encapsulate all the functionality required.

Testing

A test program is also provided for you to use. Please read it carefully as you will be expected to generate your own in assignment 2. Use the test driver as a starting point to test your Class as thoroughly as possible. Note that the marker reserves the right to test more conditions if they think of them.

How to Do The Assignment

I suggest you do your assignment in the following order

Create all the method signatures in the StringImproved Class. Each method should just be blank (with a return null or -1 if necessary).

Compile and make sure that the program works (well, technically it won't because the methods are empty, but make sure it compiles with no error).

Write the constructors. Test.

Write the length method. Test.

Write the charAt method. Test.

Write the endsWith method. Test.

Write the toLowerCase method. Test.

Write the toUpperCase method. Test.

Write the lastIndexOf method. Test.

Write the increaseArray method. Test (note there is no provided test you will need to do it). Write the shrinkArray method. Test (note there is no provided test you will need to do it). Write the contains method. Test.

Write the substring method. Test.

Write the insert method. Test.

Write the append method. Test.

Write the deleteSubString int int method. Test.

Write the deleteSubString string method. Test.

Write the deleteCharAt method. Test. Write the prepend method. Test.

Write the replaceString method. Test.

Write the sort (advanced students) method. Test.

Note that when you add functionality you may have to add test scenarios to other test methods to ensure you have covered all the possibilities.

Additional Requirement.

In addition to what is above there are a number of requirements for this assignment. Most of these are to introduce interesting problems for you to solve and must be obeyed.

As you are programming you will also need to comment your code thoroughly in each of your methods.

Whenever you use a String class (for example passed as a parameter) you can only use the charAt() method of String to get content. Sorry we can't make this too easy. The char array in your structure must always have only the space that is required.

You are not permitted to use any String methods in this class. If you use a String method you will get zero for the offending method. There is one exception you are permitted to use the Strings toCharArray method

0 0
Add a comment Improve this question Transcribed image text
Answer #1

Here is the complete prototype of the StringImproved.java class

__________________________________________________________________________________________

public class StringImproved {

    private char[] stringArray;

    //Write the constructors
    public StringImproved() {
        stringArray = null;
    }

    //Write the constructors
    public StringImproved(String aString) {
        stringArray = aString.toCharArray();
    }

    //Write the constructors
    public StringImproved(char[] stringArray) {
        this.stringArray = stringArray;
    }

    //Write the length method
    public int length() {
        return -1;
    }

    //Write the charAt method
    public char charAt(int index) {
        return '\0';
    }

    //Write the endsWith method
    public char endsWith() {
        return '\0';
    }

    //Write the toLowerCase method
    public void toLowerCase() {

    }

    //Write the toUpperCase method.a
    public void toUpperCase() {

    }

    //Write the lastIndexOf method
    public int lastIndexOf(char c) {
        return -1;
    }

    //Write the increaseArray method
    public void increaseArray() {

    }

    //Write the shrinkArray method
    public void shrinkArray() {

    }

    //Write the substring method
    public String substring(int begin, int end) {
        return "";
    }

    //Write the substring method
    public String substring(int begin) {
        return "";
    }

    //Write the insert method
    public void insert(int index, char c) {

    }

    //Write the append method
    public void append(char c) {

    }

    //Write the deleteSubString string method
    public void deleteSubString(String substring) {

    }

    //Write the deleteSubString int int method
    public void deleteSubString(int begin, int end) {

    }

    //Write the deleteCharAt
    public void deleteCharAt(int index) {

    }

    //prepend method.
    public void prepend(char c) {

    }

    //Write the replaceString method
    public void replaceString(String search, String replace) {

    }

    //Write the sort (advanced students) method
    public void sort() {

    }


}
Add a comment
Know the answer?
Add Answer to:
Class StringImproved public class StringImproved extends java.lang.Object This program replaces the string class with a mutable...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • A java program for this question please! Recursion: A word is considered elfish if it contains...

    A java program for this question please! Recursion: A word is considered elfish if it contains the letters: e, l, and f in it, in any order. For example, we would say that the following words are elfish: whiteleaf, tasteful, unfriendly, and waffles, because they each contain those letters. Write a recursive method called elfish(), that, given a word, tells us whether or not that word is elfish. The signature of the method should be: public static boolean elfish(String word)...

  • Draw the UML DIAGRAM ALSO PLEASE DRAW THE UML DIAGRAM.ALSO in java should use the program in java For this task you will create a Point3D class to represent a point that has coordinates in thr...

    Draw the UML DIAGRAM ALSO PLEASE DRAW THE UML DIAGRAM.ALSO in java should use the program in java For this task you will create a Point3D class to represent a point that has coordinates in three dimensions labeled x, y and z. You will then use the class to perform some calculations on an array of these points. You need to draw a UML diagram for the class (Point3D) and then implement the class The Point3D class will have the...

  • In Java All methods listed below must be public and static. If your code is using...

    In Java All methods listed below must be public and static. If your code is using a loop to modify or create a string, you need to use the StringBuilder class from the API. Keep the loops simple but also efficient. Remember that you want each loop to do only one "task" while also avoiding unnecessary traversals of the data. No additional methods are needed. However, you may write additional private helper methods, but you still need to have efficient...

  • How can help me to create this program? PartADriver public class PartADriver {    public static...

    How can help me to create this program? PartADriver public class PartADriver {    public static void main (String [] args)    { // create two martians Martian m1 = new Martian(); Martian m2 = new Martian("Grey", 3); // display both martians Output.showMessage("After instantiation.\n" + "Martian #1: " + m1.toString() + "\nMartian #2: " + m2.toString()); // make the first martian speak 3 times for (int count = 0; count < 3; count++)    m1.speak(); // make the second martian...

  • Question 1[JAVA] Add a method in the Main class named getLines() that takes a filename as...

    Question 1[JAVA] Add a method in the Main class named getLines() that takes a filename as a String and returns each line in the file in an array. Have each element of the array be a String. Do not include the newline at the end of each line. Use a BufferedReader object to read the file contents. Note, the contents of input.txt will be different (including the number of lines) for each test case. Example: getLines( "input.txt" ) returns (an...

  • *MYST BE I NJAVA* *PLEASE INCORPORATE ALL OF STRING METHODS AND SCANNER METHOD LISTED IN THE...

    *MYST BE I NJAVA* *PLEASE INCORPORATE ALL OF STRING METHODS AND SCANNER METHOD LISTED IN THE DIRECTIONS BELOW* Write a Java class that takes a full name (first and last) as inputted by the user, and outputs the initials. Call the class Initials. The first and last names should be entered on the same input line i.e. there should be only one input to your program. For example, if the name is Jane Doe, the initials outputted will be J...

  • I need help with this Mammal: public class Mammal extends Pet{     String Vaccin...

    I need help with this Mammal: public class Mammal extends Pet{     String Vaccination="";     public Mammal(String name, String parent, String species, String birthday, String Vaccination) {           //Accessing the super class Constructor and setting the variables.         super(name,parent,species, birthday);         this.Vaccination=Vaccination;     } // end Mammal     public String getVaccination() {         return Vaccination;     } // end getVaccination     public void setVaccination(String Vaccination) {         this.Vaccination = Vaccination;     } // end setVaccination     @Override     public String toString() {         return super.toString()+". This Mammal requires following vaccinations "+ Vaccination;     } // end...

  • In this assignment you will create two Java programs: The first program will be a class...

    In this assignment you will create two Java programs: The first program will be a class that holds information (variables) about an object of your choice and provides the relevant behavior (methods) The second program will be the main program which will instantiate several objects using the class above, and will test all the functions (methods) of the class above. You cannot use any of the home assignments as your submitted assignment. Your programs must meet the following qualitative and...

  • DIRECTIONS FOR THE WHOLE PROJECT BELOW BigInt class The purpose of the BigInt class is to...

    DIRECTIONS FOR THE WHOLE PROJECT BELOW BigInt class The purpose of the BigInt class is to solve the problem using short methods that work together to solve the operations of add, subtract multiply and divide.   A constructor can call a method called setSignAndRemoveItIfItIsThere(). It receives the string that was sent to the constructor and sets a boolean variable positive to true or false and then returns a string without the sign that can then be processed by the constructor to...

  • Java, can you help me out thanks. CSCI 2120 Introduction For this assignment you will implement...

    Java, can you help me out thanks. CSCI 2120 Introduction For this assignment you will implement two recursive methods and write JUnit tests for each one. You may write all three methods in the same class file. You are required to write Javadoc-style documentation for all of your methods, including the test methods. Procedure 1) Write method!! a recursive method to compare two Strings using alphabetical order as the natural order (case insensitive, DO NOT use the String class built-in...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT