JAVA重点编程

1. 编程序

本题需要创建和定义的源程序文件及类如下:

源程序文件:Point.java,类:Point。

根据要求修改实验5第2题中定义的Point类。

(1) 去掉set方法。

(2) 添加如下构造方法:

public Point();                                                                 //将点的坐标值置为(0, 0)

public Point(intx,int y);               

public Point(Point p);

(3) 添加以下成员方法:

public void move(intx, int y);                                         //当前点移至指定位置

public double distance(Point p);                       // 计算当前点与参数点之间的距离

(4) 修改main方法的相关代码以进行相应的测试。主要测试构造方法和新添加的成员方法。

 

public class Point {

       private int x,y;

       public final static intEAST = 1;          // 类的有名常量,用以表示的点移动方向

       public final static intSOUTH =2;

       public final static intWEST = 3;

       public final static intNORTH =4;

       //public void set(int x,int y){this.x=x;this.y=y;}              

       // 设置点的坐标值

       public Point(){

              this(0,0);

       }// 将点的坐标值置为(0, 0)

       public Point(int x,int y){

              x=this.x;

              y=this.y;

       }

       public Point(Point p){

              this( p.x,p.y );

       }

       public void move(int x, inty){

              this.x=x;this.y=y;

       }// 当前点移至指定位置

       public doubledistance(Point p){

              returnMath.sqrt((this.x-0)*(this.x-0)+(this.y-0)*(this.y-0));

       }// 计算当前点与参数点之间的距离

       public void move(intorientation){

              if(orientation==EAST)

                     x++;

              if(orientation==SOUTH)

                     y--;

              if(orientation==WEST)

                     x--;

              if(orientation==NORTH)

                     y++;

       }           

       // 按指定的方向将当前点移动1个像素

       public double distance(intx, int y){

              returnMath.sqrt((this.x-x)*(this.x-x)+(this.y-y)*(this.y-y));

       }           

       // 计算当前点与指定点之间的距离

       public boolean equals(Pointp){

              if(x==p.getX()&&y==p.getY())

                     return true;

              else return false;

       }

       // 测试当前点与参数点p的坐标值是否相等

       public int getX(){

              return x;

       }                         

       // 返回当前点的X坐标

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值