***********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
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.