gpt4 book ai didi

java - 如何使用另一个类中对象的特定变量?

转载 作者:行者123 更新时间:2023-11-30 10:07:15 26 4
gpt4 key购买 nike

我正在尝试修改 toString 方法。我有一个名为“p”的对象,它有 2 个 double 值作为属性,在本例中,5.0 和 6.0 分别是“x”和“y”值。

字符串转换器“< Point >”内的括号应该打印 p 的“x”和 p 的“y”,而在圆中它应该打印半径。果然打印半径有效,但我不确定我应该如何指定 p 的“x”和 p 的“y”。

类(class)圈子:

package packageName;

public class Circle {

public Point center;
public double radius;

public Circle(Point a, double b) {
this.center = a;
this.radius = b;
}

public String toString() {
String converter = "<Circle(<Point(" + (x of p) + ", " + (y of p) + ")>, " + this.radius + ")>";
return converter;
}


public static void main(String args []) {
Point p = new Point(5.0, 6.0);
Circle c = new Circle(p, 4.0);
c.toString();
}
}

课点:

package packageName;
public class Point{


public double x;
public double y;

public Point(double x, double y) {
this.x = x;
this.y = y;
}

public String toString() {
String input = "<Point(" + this.x + ", " + this.y + ")>";
return input;

}
}

最佳答案

你说你想在 CirlcetoString 方法中打印“p”的“x”和“p”的“y”,但是 toString 不知道关于 p 的任何信息,因为 p 是在 main 方法中本地声明的。

main 方法中,您创建了 p 并将其传递给 Circle 的第一个参数,然后将其分配给 中心。所以 center 存储与 p 相同的东西。您应该使用 center.xcenter.y:

String converter = "<Circle(<Point(" + center,x + ", " + center.y + ")>, " + this.radius + ")>";
return converter;

或者,您可以直接调用 center.toString():

String converter = "<Circle(" + c.toString() + ", " + this.radius + ")>";
return converter;

请注意我是如何使用语法 foo.bar 来表示“bar of foo”的。这是点符号,你好像对这个不熟悉。

关于java - 如何使用另一个类中对象的特定变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54415633/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com