A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

鄙人不才,刚刚自学java十来天。问的问题可能有点低水准。
刚刚看到一个练习的代码,自己也做了一遍。
做完之后,我想试试   setX(5.0)之后,如何定义 使输出打印 改变X之后的 P坐标?
我试了几个,都没成。有点懵了。摸不着头脑了

有没有朋友指导一下我


class Point
{

        //【定义一个点“Point”类,用来表示三位空间的点(三个坐标)】
        /*
        1、可以生成具有特定坐标的点对象
        2、提供可以设置三个坐标的方法
        3、提供可以计算该“点”距离远点的 平方的方法
        */
        double x, y, z;
        
        Point(double _x, double _y, double _z)//构造方法和类同名,没有返回值。
        {
                x = _x; y = _y; z = _z;
        }
        
        void setX(double _x)
        {        x = _x;}
        void setY(double _y)
        {        y = _y;}        
        void setZ(double _z)
        {        z = _z;}
        
        
        double getDistance(Point p)
        {
                return (x - p.x) * (x - p.x) + (y - p.y) * (y - p.y) + (z - p.z) * (z - p.z);
        }
}

public class TestPoint
{
        public static void main(String[] args)
        {
                Point p = new Point(1.0, 2.0, 3.0);
                Point p1 = new Point(0.0, 0.0, 0.0);
               
                System.out.println(p.getDistance(p1));
               
                p.setX(5.0);
                // System.out.println( ??? ); 如何定义 输出打印改变X之后的 P坐标?
                System.out.println(p.getDistance(new Point(1.0, 1.0, 1.0)));
        }
}

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

3 个回复

倒序浏览
本帖最后由 欢欢 于 2013-12-30 10:09 编辑
  1. class Point
  2. {
  3.         /*【定义一个点“Point”类,用来表示三位空间的点(三个坐标)】
  4.         1、可以生成具有特定坐标的点对象
  5.         2、提供可以设置三个坐标的方法
  6.         3、提供可以计算该“点”距离原点的 平方的方法
  7.         */

  8.         double x, y, z;

  9.         Point(double _x, double _y, double _z)
  10.         {
  11.                 x = _x;
  12.                 y = _y;
  13.                 z = _z;
  14.         }

  15.         void setX(double _x)
  16.         {
  17.                 x = _x;
  18.         }
  19.         void setY(double _y)
  20.         {
  21.                 y = _y;
  22.         }
  23.         void setZ(double _z)
  24.         {
  25.                 z = _z;
  26.         }

  27.         double getDistance(Point p)
  28.         {
  29.                 return (x - p.x) * (x - p.x) + (y - p.y) * (y - p.y) + (z - p.z) * (z - p.z);
  30.         }
  31. }

  32. class TestPoint
  33. {
  34.         public static void main(String[] args)
  35.         {
  36.                 Point p = new Point(1.0, 2.0, 3.0);
  37.                 Point p1 = new Point(0.0, 0.0, 0.0);
  38.                 System.out.println(p.getDistance(p1));

  39.                 p.setX(5.0);
  40.                 System.out.println("p点坐标: ("+p.x+" , "+p.y+" , "+p.z+")");     //这样打印P坐标。
  41.                 System.out.println(p.getDistance(new Point(1.0, 1.0, 1.0)));
  42.         }
  43. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
类里面的成员变量最好是private的,提供一个getter方法即可
回复 使用道具 举报
谢谢楼上的各位热心解答。。

另外一个朋友给了我一个解决办法, 看起来也挺不错。

System.out.println(p.x + " " + p.y + " " + p.z);
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马