请完善程序(程序文件名:Java_3.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。 题目要求: 编写程序完成类Java_3的完整功能,该类定义了几何点对象的操作。 该程序的运行结果如

admin2012-03-21  27

问题 请完善程序(程序文件名:Java_3.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。
   题目要求:
   编写程序完成类Java_3的完整功能,该类定义了几何点对象的操作。
   该程序的运行结果如下:
   x=5 y=5
   Location is(5,5)
   x=8 y=9
   Location is(8,9)
   源程序:
    public class Java_3 {
     int x,y;    //点的坐标
     public Java_3() {  }
     public Java_3(int x,int y) {  (1)  }    //构造方法,对(x,y)进行初始赋值
     public Java_3(Java_3 P) {  (2)  }    //构造方法,将P的坐标赋值给(x,y)
     //以对象的形式返回当前点的位置
     public Java_3 getLocation() {
      Java_3 p=  (3)  ;    //实例化一个Java_3对象p,其坐标是(x,y)
        (4)  ;    //返回对象p
     }
     public int getX() {return x;}    //返回点的横坐标
     public int getY() {return y;}    //返回点的纵坐标
     public void move(int x,int y) {this.x=x;this.y=y;}    //把当前点移到新的位置(x,y)上
     public String toString() {return"("+x+","+y+")";}    //以(x,y)的格式返回点的位置
     public void translate(int x,int y){this.x+=x;this.y+=y;}    //在原有坐标上分别增加x和y
     public static void main(String args[]) {
      Java_3 P=  (5)  ;    //生成一个对象(5,5)
      System.out.println("x="+p.x+"y="+p.y);
      System.out.println("Location is"+p.toString());  //12(x,y)的方式打印坐标的位置
        (6)  ;    //在原有位置上增加(3,4)
      System.out.println("x="+p.x+"y="+p.y);    //打印横坐标和纵坐标的值
      System.out.println("Location is"+p.toString());  //以(x,y)的方式打印坐标的位置
     }
   }

选项

答案(1)this.x=x;this.y=y; (2)this.x=p.x;this.y=p.y; (3)new Java_3(x,y); (4)return p (5)new Java_3(5,5) (6)p.translate(3,4)

解析 定义构造方法,由于给了两个参数,所以需要通过参数给类的变量赋值,因此通过this关键字表明是对当前类的变量赋值。定义构造方法,由于参数给了Java_3类的对象p,所以通过这个参数给变量赋值。 注释说明是通过坐标(x,y)进行实例化,所以构造方法需要有两个参数x和y。根据注释以及程序中创建的对象p,需要将p返回,因此是return语句。注释中给出了对象的坐标(5,5)因此需要通过两个参数x和y调用构造方法Java_3(int x,int y)进行实例化。注释中说明在原有位置增加(3,4),因此需要对对象调用方法translate()。可以通过方法的定义看出是在原有位置增加一定值。
   [程序解析] 本程序主要考查类的对象的创建、构造方法的重载和类的方法使用。
转载请注明原文地址:https://kaotiyun.com/show/VB2p777K
0

最新回复(0)