【问题标题】:calculate the length of line using toString使用 toString 计算行的长度
【发布时间】:2013-05-23 20:04:10
【问题描述】:

我需要实现点和线类 Point 的 toString 方法应该以 (x,y) 的形式打印一个点 Line 的 toString 方法应该打印一个点,格式为 (x1,y1)->(x2,y2)

然后我需要创建一个名为 LineApp 的类 主要执行以下操作: 用点 (0,0) 和 (4,3) 创建一条线 然后计算并显示线的长度。

我一直在看这个,不知道该怎么办

【问题讨论】:

  • 从实现点和线类开始。 Point 的 toString 方法应该以 (x,y) 的形式打印一个点。 Line 的 toString 方法应该打印一个点,格式为 (x1,y1)->(x2,y2)...
  • 你怎么可能不知道该做什么。如果您真的像您说的那样一无所知,那么您必须做的第一件事就是花一些时间阅读 Java 教程。
  • 我在我的社区大学上了一门入门课程,然后他们合并了专业,现在我在这个新班级里,几乎没有这些看起来熟悉
  • 我建议 - 尽快与您的讲师交谈并向他/她解释问题并询问他是否可以推荐一个好的教程或书籍来赶上。拥有这些信息会有所帮助(在大多数情况下)——它可以让您提出基本问题而不会受到过于严厉的评判,您甚至可以有额外的时间来完成作业。然后去寻找一个好的教程或书籍,谁知道他推荐的东西的质量。不,您不应该以Stack Overflow 问题的形式提出建议,这归类为“不具建设性”并且将被关闭。
  • Stack Overflow 不是学习语言的合适场所。也许可以在这里和那里学习一些东西,但不是从头开始。

标签: java object tostring


【解决方案1】:

Point 类的toString() 方法应如下所示:

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

Line 类的toString() 方法应该如下所示(假设您在类Line 中有两个Point 类型的成员):

public String toString() {
   return "(" + point_A.getX() + "," + point_A.getY() + ")->" +
          "(" + point_B.getX() + "," + point_B.getY() + ");
}

数学上,如果你有两个点:A(x1, y1) 和 B(x2, y2),线 AB 的长度将用这个公式计算:

AB * AB = (x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1)

因此,您可以在代码中执行以下细化:

Double length = Math.sqrt((x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1));
System.out.println(length);

【讨论】:

    【解决方案2】:

    例如,Line 类的 toString() 方法如下所示:

    public String toString() {
        return "(" + x1 + "," + y1 + ")->(" + x2 + "," + y2 + ")";
    }
    

    【讨论】:

      【解决方案3】:

      您必须先@override 对象类,然后才能自定义您自己的toString() 方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-05
        • 2016-06-27
        • 2011-08-08
        • 2012-11-02
        • 2011-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多