JAVA学习问题的解决小方法
2019年学习JAVA BUG解决
在JAVA中,如果你想将一个点的多变量坐标(x,y…)变成一个变量参数方便后面的操作。有两种方法:
例如,我想实现点在圆内,我在前面的定义中只定义了两个变量 public Point(double aX,double aY){
x = aX;
y = aY;
},
而在后面的操作中我的函数想调用点到直线的距离(distance)函数,
public double distance(Point a){
double d = Math.sqrt((this.x - a.getX())*((this.x - a.getX())) + (this.y - a.getY()) * (this.y - a.getY()));
return d;
}
但是在函数的调用中我只能在distance(一个参数),怎么办呢?
第一种方法:
public boolean contain(Point x3){
Point o = new Point(x,y); //直接在你需要调用的函数中定义一个新的变量
double d = o.distance(x3); //x3表示调用函数中的形参
if(d <= this.radius)
return true;
else
return false;
}
第二种方法:
public Circle(Point center, double r) //重新定义一个函数将两个变量写成一个形参变量
public Circle(double ax, double ay, double aradius) {
x = ax;
y = ay;
radius = aradius;
}
public Circle(Point center, double r) //这里的point已经有了一个封装的类
{
x = center.getX();
y = center.getY();
radius = r;
}
然后直接在MAIN中调用
Circle cd = new Circle(pa,4);