我的作业解释如下:
写一个名为Point的类的定义,该类可用于存储和操纵平面上某点的位置。该点存储为两个坐标:x和y。您需要声明并实现以下方法:
- 两个构造函数: 一个。无参数构造函数,将点坐标设置为(0,0),和 湾一个构造函数,它接受点的x和y坐标并设置成员 变量
- 在创建此类对象后设置私有数据的方法集。
- 沿第一和第二个参数指定的垂直和水平方向移动点数的方法:move(double dx,double dy)
- 将点绕原点顺时针旋转90度的方法。提示:当点绕原点顺时针旋转90°时,其坐标发生以下变化:xrotated = y; yrotated = -x。
- 两个访问器方法来检索点的坐标。
醇>
应该是2个不同的电话。这些项目在第二个(不是主要类) 我会在大班上打电话给我。 (我这样做)。
这是我的代码,但我不明白接下来该做什么。
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;
}
答案 0 :(得分:1)
你几乎拥有一切,干得好。对于旋转90度功能,您可以获得关于该做什么的非常好的线索。想象一下,你有一个点(1,2),你旋转它。你最终得到(2,-1)。如果你再次旋转它,你会得到(-1,-2)。再一次给你(-2,1),第四次90度旋转给出(1,2),这就是你开始的。想出一个能做到这一点的功能。它不应超过3行。
setter函数(用于设置或更改值的函数)只是可用于设置点值的函数。所以,你有一个函数“setX(...){...}”和一个函数“setY(...){...}”。这些应该非常简单。
如果您仍然感到困惑,请随时提出进一步的问题。
答案 1 :(得分:1)
私人双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());