简体   繁体   English

Java - setXY(x1, y1) 和新的 Object 有什么区别

[英]Java - What the difference of setXY(x1, y1) and new Object

The problem I'm having is typing x1, x2, y1, y2 into begin and end.我遇到的问题是在开始和结束中输入 x1、x2、y1、y2。 This is what I wrote but it did not run as expected.这是我写的,但它没有按预期运行。

begin.setXY(x1, y1);
end.setXY(x2, y2);

After reading the answers for this exercise, I found that they used these two lines and it worked.在阅读了本练习的答案后,我发现他们使用了这两行并且有效。 I don't know the difference between these lines of code, please help me !!!我不知道这几行代码之间的区别,请帮助我!!! And I'm a beginner in java and don't have much experience if you can give me some tips to learn而且我是java的初学者,如果您能给我一些学习技巧,我没有太多经验

begin = new Point(x1, y1);
end = new Point(x2, y2);

this is my Point class这是我的观点 class

public class Point {
    private int x;
    private int y;
    
    public Point () {
        this.x = 0;
        this.y = 0;
    }
    
    public Point (int x, int y) {
        this.x = x;
        this.y = y;
    }

    public int getX() {
        return x;
    }

    public void setX(int x) {
        this.x = x;
    }

    public int getY() {
        return y;
    }

    public void setY(int y) {
        this.y = y;
    }
    
    @Override
    public String toString () {
        return "(" + x + "," + y + ")";
    }
    
    public int[] getXY () {
        int[] array = new int[2];
        array[0] = x;
        array[1] = y;
        return array;
    }
    
    public void setXY (int x, int y) {
        this.x = x;
        this.y = y;
    }
}

and this is my Line class这是我的线 class

public class Line {
    private Point begin;
    private Point end;
    
    public Line (int x1, int y1, int x2, int y2) {
//        begin.setXY(x1, y1);
//        end.setXY(x2, y2);
        
        begin = new Point(x1, y1);
        end = new Point(x2, y2);
    }
}

this is my Main class这是我的主要 class

public class Ex2 {

    public static void main(String[] args) {
        Line a = new Line(1, 2, 3, 4);
        
        System.out.println(a.getBegin());
        System.out.println(a.getEnd());
    }
    
}

Just add the getters and setter in your Line class and you should start getting the values:只需在 class Line中添加 getter 和 setter 即可开始获取值:

public class Line {
    private Point begin;
    private Point end;

    public Line (int x1, int y1, int x2, int y2) {
        begin = new Point(x1, y1);
        end = new Point(x2, y2);
    }
  
    // Just add this
    public Point getBegin() { return begin; }
    public Point getEnd() { return end; }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在java中以给定速度以直线将对象从点(x1,y1)移动到点(x2,y2)的方法 - Method to move an object from point(x1,y1) to point(x2,y2) at a given speed in a straight line in java 按钮无法绘制具有坐标(x1,x2,y1,y2)的折线图 - Button not working to draw line graph having its coordinate (x1, x2, y1, y2) 如果我们知道距离x1,y1,y2,则计算x2 - Calculate x2 if we know distance, x1, y1, y2 如何划分字符串(x1,y1)(x2,y2)格式 - How to divide string (x1,y1)(x2,y2) format 在X1 y1 X2 y2形式的10,000个点的文件中,如何检测至少四个正方形? 爪哇 - In a file of 10,000 points of the form X1 y1 X2 y2 ,,, How to detect at least 4 which form a square ? java 如何重新格式化 GetVertices 以返回 (x1,y1,0), (x2,y2,0), (x3,y3,0);? - How to re format GetVertices to return (x1,y1,0), (x2,y2,0), (x3,y3,0);? 如何确定百万数据点中的哪些点 (x,y) 位于矩形 (x1, x2, y1, y2) 所描述的区域内? - How to determine which points (x,y) out of million data points lie inside the area described by a rectangle (x1, x2, y1, y2)? 为什么 x *= (y1*y2*y3)/z1 没有给出与 JAVA 中的 x = x * (y1*y2*y3)/z1 相同的答案 - Why is x *= (y1*y2*y3)/z1 not giving the same answer as x = x * (y1*y2*y3)/z1 in JAVA 如何使用Quartz库每天在XX:XX处安排从日期X1 / Y1 / Z1到日期X2 / Y2 / Z2的某些任务? - How can I use Quartz library to schedule some task from date X1/Y1/Z1 to date X2/Y2/Z2 at XX:XX every day? java中的(Integer)y和new Integer(y)有什么区别? - What is the difference between (Integer)y and new Integer(y) in java?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM