Мне нужно создать пользовательский класс MyString, который эмулирует определенные методы, которые содержит класс String, в основном действуя как строка. Единственное, что я не могу использовать ничего из класса string, только конструктор в одном методе.Проблема с пониманием того, как эмулировать метод String.substring
Проблема, с которой я столкнулась, заключается в том, что метод подстроки работает правильно. Я продолжаю получать исключение из массива. Я также не уверен, как сравнить два объекта MyString.
package hw;
import java.lang.reflect.Array;
import java.util.Scanner;
import java.util.Arrays;
public class MyString {
private final char[] chars;
private final int index;
Scanner sc = new Scanner(System.in);
public MyString(char[] chars) {
this.chars = chars;
this.index = Array.getLength(chars);
}
//this is my trouble method
public MyString substring(int begin, int end) throws Exception{
char[] t = {};
int n = 0;
if(end > index){
throw new Exception();
}
if(begin < 0){
throw new Exception();
}
if(begin > end){
throw new Exception();
}
for(int i=begin-1;i < end;i++){
t[n] = this.chars[i];
n++;
System.out.print(t[n]);
}
System.out.println(t);
MyString myTemp = new MyString(t);
return myTemp;
}
//im not sure how to compare the two
public boolean equals(MyString s){
char [] tempA = this.chars;
char [] tempB = s.chars;
return true;
}
/*
public static MyString valueOf(int i){
Mystring string;
return MyString;
}
*/
}
Знаете ли вы, что означает ArrayIndexOutOfBoundsException? – immibis
Удалите весь код, который не требуется для решения проблемы. Это включает особенно большинство других методов вашего класса, кроме 'substring()'. – Timo
@TimoSta в порядке, удалил кучу этого, извините за это. –