将tostring输出拆分为字符串

时间:2016-09-14 01:04:42

标签: java

这是我的图类tostring方法(超类)

public String toString() {
    return "x=" + x + ", y=" + y + ", color=" + color ;
}

这是Rectangular类的tostring方法(扩展图类)

@Override
public String toString() {
    return "Rectangle [ "+  super.toString()   + ", width=" + width + ", length=" + length+  "]\n";
}

我想通过拆分此tostring方法再次绘制一个矩形来仅取x,y,颜色,宽度和长度的值。

我的整个程序必须通过点击2点来绘制矩形。当我单击退出按钮时,它会将矩形对象保存在文本文件中。当我再次运行时,它必须弹出我绘制的先前形状。我需要先前的点通过使用这些点再次绘制矩形。 任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

为了覆盖Rectangle类中的toString(),您的Figure类必须是Rectangle的子类。不是像你这样的超级班。用这个:

public class Figure extends Rectangle { /* Other code here */ }

然后,您需要在toString()方法中使用Rectangle子类中的值。由于Rectangle类没有getColor()方法,因此需要在自己的Figure类中创建它。它应该是这样的:

@Override
public String toString(){

/* this.getX(): returns the X values stored in the subclass Rectangle
   this.getY(): returns the Y values stored in the subclass Rectangle
   getColor(): returns the color stored in the figure class. This is the
               method that will be defined by you.
*/

     return "x=" + this.getX() + ", y=" + this.getY() + ", color=" + getColor();

}

答案 1 :(得分:0)

按如下方式更改toString();方法:

图类tostring方法(超类)

public String toString() {
    return "x-"+ x + "-y-" + y + "-color-" +color ;
}

这是Rectangular类的tostring方法(扩展图类)

@Override
public String toString() {
    return super.toString()+"-width-" + width + "-length-"+length+ ";
}

然后使用正则表达式"-"

进行拆分
String [] splittedString = rectangleObject.toString().split("-");

然后从数组中分配值,例如

String x = splittedString[1];
String y = splittedString[3];
String color = splittedString[5];
String width = splittedString[7];
String length = splittedString[9];