Java 点类坐标
我有一个任务是这样解释的: 编写名为Point的类的定义,该类可用于存储和操作平面上点的位置。该点存储为两个坐标:x和y。您需要声明并实现以下方法:Java 点类坐标,java,Java,我有一个任务是这样解释的: 编写名为Point的类的定义,该类可用于存储和操作平面上点的位置。该点存储为两个坐标:x和y。您需要声明并实现以下方法: 两名施工人员: A.没有将点坐标设置为(0,0)的参数构造函数,并且 B获取点的x和y坐标并设置成员的构造函数 变量 方法集,该方法集在创建此类的对象后设置私有数据 沿第一个和第二个参数指定的垂直和水平方向移动点的方法:move(双dx,双dy) 围绕原点顺时针旋转点90度的方法。提示:当点围绕原点顺时针旋转90度时,其坐标会发生以下变化:xrot
private double x;
private double y;
public Point(double initialX, double initialY) {
x = initialX;
y = initialY;
}
public Point() {
x = 0;
y = 0;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
public void move(double dx, double dy) {
x += dx;
y += dy;
}
你几乎拥有一切,干得好。对于“按90旋转”函数,您可以很好地了解如何操作。假设你有一个点(1,2),然后旋转它。你会得到(2,-1)。如果再次旋转它,将得到(-1,-2)。再次给你(-2,1),第四个90度旋转给你(1,2),这是你开始的。提出一个函数来实现这一点。它不应该超过3行 setter函数(用于设置或更改值的函数)只是可用于设置点的值的函数。所以,您有一个函数“setX(…){…}”和一个函数“setY(…){…}”。这些应该非常简单
如果您仍然感到困惑,请随时提问。您几乎拥有一切,干得好。对于“按90旋转”函数,您可以很好地了解如何操作。假设你有一个点(1,2),然后旋转它。你会得到(2,-1)。如果再次旋转它,将得到(-1,-2)。再次给你(-2,1),第四个90度旋转给你(1,2),这是你开始的。提出一个函数来实现这一点。它不应该超过3行 setter函数(用于设置或更改值的函数)只是可用于设置点的值的函数。所以,您有一个函数“setX(…){…}”和一个函数“setY(…){…}”。这些应该非常简单 如果您仍然感到困惑,请随时提出进一步的问题。私人双x
私人双y
public Point(double dx, double dy) {
x = dx;
y = dy;
}
public Point() {
x = 0;
y = 0;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
public void SetX(double dx)
{
x = dx;
}
public void SetY(double dy)
{
y = dy;
}
public void move(double dx, double dy)
{
x = x + dx;
y = y + dy;
}
public double rotateX()
{
double temp = x;
x=y;
y=temp;
return x;
}
public double rotateY()
{
y=-y;
return y;
}
主页
public static void main(String[] args) {
// TODO Auto-generated method stub
Point p = new Point();
p.SetX(50);
p.SetY(17);
System.out.println("X and Y coordinates are : \n("+p.getX()+","+p.getY()+")");
System.out.println("after 90 degree clockwise rotate: ");
System.out.println(p.rotateX()+","+p.rotateY());
私人双x私人双y
public Point(double dx, double dy) {
x = dx;
y = dy;
}
public Point() {
x = 0;
y = 0;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
public void SetX(double dx)
{
x = dx;
}
public void SetY(double dy)
{
y = dy;
}
public void move(double dx, double dy)
{
x = x + dx;
y = y + dy;
}
public double rotateX()
{
double temp = x;
x=y;
y=temp;
return x;
}
public double rotateY()
{
y=-y;
return y;
}
主页
public static void main(String[] args) {
// TODO Auto-generated method stub
Point p = new Point();
p.SetX(50);
p.SetY(17);
System.out.println("X and Y coordinates are : \n("+p.getX()+","+p.getY()+")");
System.out.println("after 90 degree clockwise rotate: ");
System.out.println(p.rotateX()+","+p.rotateY());
你做得很好!现在您只需实现
setX
、setY
,以及rotateBy90
方法。你这样做有什么问题?我发送了我的代码,我认为它可以工作,但你能检查一下你是否可用你做得很好!现在您只需实现setX
、setY
,以及rotateBy90
方法。你这样做有什么问题?我发送了我的代码,我想它正在工作,但你能检查一下你是否可用吗?如果我有想象的点:(2,1)第一个90顺时针(-1,2)秒90顺时针(-2,-1)第三个90顺时针(1,-2),最后一个将是(2,1)我正确吗?不,这是逆时针旋转时发生的情况。赋值要求你顺时针旋转一个点,我给出的例子是应该发生什么。我添加了这个2方法太公共了double-setX(){double-xrot;return-xrot=y;}public-double-setY(){double-yrot;return-yrot=-x;}你的函数setX应该为x取一个新值。想象一下,我想把x设为5。然后,setX应该做的就是使x=5。注释中定义的函数setX和setY不正确。这就像你混淆了轮换需要做什么和二传手需要做什么一样。这些函数之间不应该有任何关系。所以如果我有一个想象点:(2,1)顺时针旋转90秒(-1,2)顺时针旋转90秒(-2,-1)顺时针旋转90秒(1,-2),最后一个是(2,1),我说的对吗?不,这就是逆时针旋转时的情况。赋值要求你顺时针旋转一个点,我给出的例子是应该发生什么。我添加了这个2方法太公共了double-setX(){double-xrot;return-xrot=y;}public-double-setY(){double-yrot;return-yrot=-x;}你的函数setX应该为x取一个新值。想象一下,我想把x设为5。然后,setX应该做的就是使x=5。注释中定义的函数setX和setY不正确。这就像你混淆了轮换需要做什么和二传手需要做什么一样。这些函数不应该相互关联。