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

***********IN JAVA************* HW4_P2 - MyString ****The String class is provid

ID: 3872572 • Letter: #

Question

***********IN JAVA*************

HW4_P2 - MyString

****The String class is provided in the Java library. Provide your own implementation for the following methods (name the new class MyString):*******

**DO NOT USE THE STRING OBJECT AND ITS METHODS. IMPLEMENT THEM ALL AGAIN YOURSELF!

**You can use char[] and Character object.

public MyString(char[] chars);

public char charAt(int index);

public int length();

public MyString substring(int begin, int end);

public MyString toLowerCase();

public boolean equals(MyString s);

public static MyString valueOf(int i);

public char[] toChars();

*******Use the following class driver with no modifications to it!********

import java.util.*;
import java.lang.*;
import java.io.*;

class DriverMain{

public static void main(String[] args) {

  

MyString s1 = new MyString(new char[] {'A', 'B', 'C'});

System.out.println(s1.length());

System.out.println(s1.charAt(1));

MyString s2 = s1.substring(0,2);

System.out.println(s2.toLowerCase().equals(new MyString(new char[] {'a', 'b'})));

char[] chars = MyString.valueOf(345).toChars();

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

System.out.print(chars[i]);

}

}

}

***********************************************************************************

---And use the following class that was refered to in main----

class MyString {
  
public MyString(char[] chars){
  
}
public char charAt(int index){
  
}
public int length(){
  
}
public MyString substring(int begin, int end){
  
}
public MyString toLowerCase(){
  
}
public boolean equals(MyString s){
  
}
public static MyString valueOf(int i){
  
}
public char[] toChars(){
  
}
  
}

***********************************************************************************

PLEASE follow the instructions that are provided and comment the code so I can understand it better!

I'm really confused about this assignment and need as much help as possible!

Explanation / Answer

MyString.java

public class MyString {

char chars[];

public MyString(char[] chars) {
this.chars = chars;
}

public char charAt(int index) {
return chars[index];
}

public int length() {
int i = 0;
for (char c: chars) {

i++;

}
return i;
}

public MyString substring(int begin, int end) {
int len = end - begin;
char arr[] = new char[len];
for (int i = 0; i < len; i++) {
arr[i] = chars[begin];
begin++;
}
return new MyString(arr);

}

public MyString toLowerCase() {
int len = length();
char arr[] = new char[len];

for (int j = 0; j < len; j++) {
arr[j] = (char)(chars[j] + 32);
}
return new MyString(arr);
}

public boolean equals(MyString s) {
int len = length();
if (len != s.length())
return false;
else {
for (int i = 0; i < len; i++) {
if (chars[i] != s.chars[i])
return false;

}
}
return true;
}

public static MyString valueOf(int i) {

int num = i;
int len = 0;
while (num > 0) {
num = num / 10;
len++;
}

char arr[] = new char[len];
num = i;

for (int k = len - 1; k >= 0; k--) {
arr[k] = (char)((num % 10) + '0');

num = num / 10;
}

return new MyString(arr);
}

public char[] toChars() {

return chars;
}

}

__________________

DriverMain.java

import java.util.*;

import java.lang.*;

import java.io.*;

class DriverMain {

public static void main(String[] args) {

MyString s1 = new MyString(new char[] { 'A', 'B', 'C' });

System.out.println(s1.length());

System.out.println(s1.charAt(1));

MyString s2 = s1.substring(0, 2);

System.out.println(s2.toLowerCase().equals(new MyString(new char[] { 'a', 'b' })));

char[] chars = MyString.valueOf(345).toChars();

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

System.out.print(chars[i]);

}

}

}

__________________

Output:

3
B
true
345


_____________Could you rate me well.Plz .Thank You