Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

#$#$#@$#$## JAVA ONLY JAVA JAVA JAVA ONLY !@#!@#@$# PLEASE PLEASE HELP IN JAVA O

ID: 3801760 • Letter: #

Question

#$#$#@$#$## JAVA ONLY JAVA JAVA JAVA ONLY !@#!@#@$#

PLEASE PLEASE HELP IN JAVA ONLY< I asked this question couple of time and got wrong answer everytime I need help ASAP it's due tonight, please follow the exact directions of what it is asking for including extra credit please if u dont know how to do it dont do it and waste my time please and thank you!

PLEASE USE my skeleton that i started with to complete this

https://codeshare.io/2jAjKA

You will be writing some of the methods in the Java String class API. You are not using the methods, you are writing them. The only methods from the API you are allowed to use are From String class: From Scanner class- all methods constructors toChar Array() toString() You may use the length field that all arrays in Java have Implement the following methods, you can look at the API to see what they do. charAt(int index) compare To(String anotherString) compare ToIgnoreCase(String another String) concat(String str) endsWith String suffix) equals (Object anotherObject) equals IgnoreCase(String anotherString) index int ch) indexOf(int ch, int fromIndex) lastIndexOf(int ch) length() replace (char oldChar, char newChar) startsWithString(String prefix) substring int beginIndex) substring(int beginIndex, int endIndex)

Explanation / Answer

HI, I have implemented first 6 functions.

Please repost other functions in separate post.

Please let me know in case of any issue in implemented functions.

/**

* Be sure to fully document your code

*

* @author put your name here

* @version put the date here

*/

public class MyString

{

   private String original; //do not use this field

   private char[ ] sequence;

   public MyString(String start)

   {

       original = new String(start);

       sequence = start.toCharArray( );

   }

   public MyString(char[ ] inSequence)

   {

       original = new String(inSequence);

       this.sequence = new char[inSequence.length];

       for(int k= 0; k < sequence.length; k++)

       {

           this.sequence[k] = inSequence[k];

       }

   }

   public MyString(MyString other)

   {

       original = other.toString();

       sequence = original.toCharArray( );

   }

   public char charAt(int index)

   {

       char result;

       result = sequence[index];

       return result;

   }

   public int compareTo(MyString anotherMyString)

   {

       for(int i=0; i<sequence.length; i++){

           if(sequence[i] < anotherMyString.charAt(i))

               return -1;

           else if(sequence[i] > anotherMyString.charAt(i))

               return 1;

       }

       return 0;

   }

   public int compareToIgnoreCase(MyString anotherMyString)

   {

       for(int i=0; i<sequence.length; i++){

           // converting both character into lower case

           char c1 = Character.toLowerCase(sequence[i]);

           char c2 = Character.toLowerCase(anotherMyString.charAt(i));

           if(c1 < c2)

               return -1;

           else if(c1 > c2)

               return 1;

       }

       return 0;

   }

   public MyString concat(MyString str)

   {

       int len1 = sequence.length;

       int len2 = str.length();

       char newSeq[] = new char[len1+len2];

       int k = 0;

       for(int i=0; i<sequence.length; i++)

           newSeq[k++] = sequence[i];

       for(int i=0; i<str.length(); i++)

           newSeq[k++] = str.charAt(i);

       return new MyString(newSeq);

   }

   public boolean endsWith(MyString suffix)

   {

       if(sequence.length < suffix.length())

           return false;

       for(int i=suffix.length()-1, j = sequence.length-1; i>=0 && j>=0; i--, j--){

           if(suffix.charAt(i) != sequence[j])

               return false;

       }

       return false;

   }

   public boolean equals(MyString anotherMyString)

   {

       if(sequence.length != anotherMyString.length())

           return false;

       for(int i=anotherMyString.length()-1, j = sequence.length-1; i>=0 && j>=0; i--, j--){  

           if(anotherMyString.charAt(i) != sequence[j])

               return false;

       }

       return false;

   }

   public boolean equalsIgnoreCase(MyString anotherMyString)

   {

       if(sequence.length != anotherMyString.length())

           return false;

       for(int i=anotherMyString.length()-1, j = sequence.length-1; i>=0 && j>=0; i--, j--){  

           char c1 = Character.toLowerCase(sequence[i]);

           char c2 = Character.toLowerCase(anotherMyString.charAt(i));

           if(c1 != c2)

               return false;

       }

       return false;

   }

   public int indexOf(char findMe)

   {

       for(int i=0; i<sequence.length; i++)

           if(sequence[i] == findMe)

               return i;

       return -1;

   }

   public int indexOf(char ch, int fromIndex)

   {

       for(int i=fromIndex; i<sequence.length; i++)

           if(sequence[i] == ch)

               return i;

       return -1;

   }

   public int lastIndexOf(char ch)

   {

       for(int i=sequence.length-1; i>=0; i--)

           if(sequence[i] == ch)

               return i;

       return -1;

   }

   public int length( )

   {

       return sequence.length;

   }

   public MyString replace(char oldChar, char newChar)

   {

       return null;

   }

   public boolean startsWithString(MyString prefix)

   {

       return false;

   }

   public MyString substring(int beginIndex)

   {

       return null;

   }

   public MyString substring(int beginIndex, int endIndex)

   {

       return null;

   }

   public MyString toLowerCase( )

   {

       return null;

   }

   public MyString toUpperCase(MyString pIn)

   {

       return null;

   }

   public String toString( )

   {

       return new String(sequence);

   }

   //Extra credit methods

   public MyString replaceAll(MyString str, MyString replacement)

   {

       return null;

   }

   public int indexOf(MyString str)

   {

       return -1;

   }

   public int indexOf(MyString str, int fromIndex)

   {

       return -1;

   }

   public boolean contains(MyString s)

   {

       return false;

   }

}