0

我在我的程序员类中返回一个字符串时遇到问题,因为我无法将它变成 MyString(我的自定义对象)类型..如何修复它

MyString subString (int start)
  {

    String a="";

    char [] newData=new char[data.length];
    for(int c=0;c<newData.length;c++)
    {
      newData[c]=data[c];
    }
    for(int c=start;c<newData.length;c++)
    {

      a+=newData[c];
      System.out.println(a);
    }


    MyString tempot=new MyString(a);




    return  data ;
  }
4

1 回答 1

0

您想返回tempot,因为这是您的方法的返回类型

您的方法签名返回MyString

MyString subString (int start){
}

所以你应该返回一个MyString对象

MyString tempot=new MyString(a);

return tempot;

编辑:

public class MyString {
    String text;

    public MyString(String text){
        this.text = text;
    }

    public String subString (int start){
        int thisStart = start;
        char [] textArray = text.toCharArray();
        int newCharSize = text.length - start;

        char [] newData=new char[newCharSize];

        for(int c=0;c<newData.length;c++){
            newData[c]=textArray[thisStart];
            thisStart++;
        }

        return newData.toString() ;
   }

   @Override
   public String toString(){
       return text;
   }
}

这是您的测试课程MyString

public class TestMyString {
    public static void main(String[] args){
        String text = "Hello World!"
        MyString myString = new MyString(text);

        String subString = myString.subString(3)
        System.out.println(subString);
        // Output:  "o World!"

        System.out.println(myString);
        // output "Hello, World!"
    }
}
于 2013-11-04T02:14:25.797 回答