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

IN JAVA ONLY JAVA ONLY JAVA ONLY PLEASE HELP > please follow insrtuctions on bot

ID: 3846360 • Letter: I

Question

IN JAVA ONLY JAVA ONLY JAVA ONLY PLEASE HELP > please follow insrtuctions on both pictures to see how this suppose to work! IN JAVA ONLY JAVA ONLY JAVA ONLY

IN JAVA ONLY JAVA ONLY JAVA ONLY

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

Here's the Classes:

1.MyString.java

package Chegg;

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Scanner;

public class MyString {
   private String str;
   private char[] charArr;

   public MyString(String str) {
       this.str = str;
       charArr = new char[str.length()];
       charArr = str.toCharArray();
   }

   public char charAt(int index) {

       return charArr[index];
   }

   public boolean compareTo(String anotherString) {

       if (str.length() != anotherString.length()) {
           return false;
       } else {
           for (int i = 0; i < str.toCharArray().length; i++) {
               if (charArr[i] != anotherString.toCharArray()[i]) {
                   return false;
               }
           }
       }
       return true;
   }

   public String concat(String anotherString) {

       return str + anotherString;
   }

   public boolean endsWith(String anotherString) {

       for (int i = anotherString.toCharArray().length; i < 0; i++) {
           if (charArr[i] != anotherString.toCharArray()[i]) {
               return false;
           }
       }

       return true;
   }

   public boolean equals(Object object) {
       if (object == null) {
           return false;
       }

       if (str.length() != object.toString().length()) {
           return false;
       } else {
           for (int i = 0; i < str.toCharArray().length; i++) {
               if (charArr[i] != object.toString().toCharArray()[i]) {
                   return false;
               }
           }
       }
       return true;
   }

   public char indexOf(int index) {

       return charArr[index];
   }
  
   public int length() {
       return str.toCharArray().length;          
   }

   public boolean compareToIgnoreCase(String anotherString)

   {

       int count = 32;

       if (str.length() != anotherString.length()) {

           return false;

       } else {

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

               if (charArr[i] >= 65 && charArr[i] <= 90)

               {

                   if (anotherString.toCharArray()[i] >= 65

                           && anotherString.toCharArray()[i] <= 90)

                   {

                       if (charArr[i] != anotherString.toCharArray()[i])

                       {

                           return false;

                       }

                   }

                   else

                   {

                       if (charArr[i] != anotherString.toCharArray()[i] - count)

                       {

                           return false;

                       }

                   }

               }

               else

               {

                   if (anotherString.toCharArray()[i] >= 65

                           && anotherString.toCharArray()[i] <= 90)

                   {

                       if (charArr[i] != anotherString.toCharArray()[i] + count)

                       {

                           return false;

                       }

                   }

                   else

                   {

                       if (charArr[i] != anotherString.toCharArray()[i])

                       {

                           return false;

                       }

                   }

               }

           }

       }

       return true;

   }

   public boolean equalsIgnoreCase(Object object) {

       int count = 32;

       if (object == null) {

           return false;

       }

       if (str.length() != object.toString().length()) {

           return false;

       } else {

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

               if (charArr[i] >= 65 && charArr[i] <= 90)

               {

                   if (object.toString().toCharArray()[i] >= 65

                           && object.toString().toCharArray()[i] <= 90)

                   {

                       if (charArr[i] != object.toString().toCharArray()[i])

                       {

                           return false;

                       }

                   }

                   else

                   {

                       if (charArr[i] != object.toString().toCharArray()[i] - count)

                       {

                           return false;

                       }

                   }

               }

               else

               {

                   if (object.toString().toCharArray()[i] >= 65

                           && object.toString().toCharArray()[i] <= 90)

                   {

                       if (charArr[i] != object.toString().toCharArray()[i] + count)

                       {

                           return false;

                       }

                   }

                   else

                   {

                       if (charArr[i] != object.toString().toCharArray()[i])

                       {

                           return false;

                       }

                   }

               }

           }

       }

       return true;

   }

   public String replace(char oldChar, char newChar) {
      
           for (int i = 0; i < str.toCharArray().length; i++) {
               if (charArr[i] == oldChar) {                  
                   charArr[i] = newChar ;
               }
           }
           String s = new String(charArr);
      
       return s;
   }
   public String subString(int beginIndex) {
       char[] newCharArr = new char[charArr.length];
       int j=0;
       for (int i = beginIndex; i < charArr.length; i++) {              
           newCharArr[j++] = charArr[i] ;          
       }
       String s = new String(newCharArr);
   return s;
}
   public String subString(int beginIndex,int endIndex) {
       char[] newCharArr = new char[charArr.length];
       int j=0;
       for (int i = beginIndex; i < endIndex; i++) {              
           newCharArr[j++] = charArr[i] ;          
       }
       String s = new String(newCharArr);
   return s;
}   
  
}

2. Driver.class

package Chegg;

import java.util.Scanner;

public class Driver{
   public static void main(String[] args) {
       MyString ms = null;
       String input = null;
       Scanner scan = new Scanner(System.in);
       input = scan.nextLine();
       ms = new MyString(input);
       System.out.println(ms.charAt(4));
       System.out.println(ms.compareTo("Salman Hussain"));
       System.out.println(ms.compareToIgnoreCase("salman hussain"));
       System.out.println(ms.concat("Salman Hussain"));
       System.out.println(ms.endsWith("Salman Hussain"));
       System.out.println(ms.equals("Salman Hussain"));
       System.out.println(ms.equalsIgnoreCase("Salman Hussain"));
       System.out.println(ms.indexOf(6));
       System.out.println(ms.length());
       System.out.println(ms.replace('a','b'));
       System.out.println(ms.subString(1));
       System.out.println(ms.subString(2,6));  
      
   }      
}

Output:

My Name is Salman Hussain
charAt a
compareTo false
compareToIgnoreCase false
concat My Name is Salman HussainSalman Hussain
endsWith true
equals false
equalsIgnoreCase false
indexOf e
length 25
replace My Nbme is Sblmbn Hussbin
subString y Nbme is Sblmbn Hussbin