# Thread: can`t understand were is the promlem

1. Member
Join Date
Apr 2017
Posts
5
Rep Power
0

## can`t understand were is the promlem

hi everyone, can someone look at my program and help me find the problem that the taster found?

my prog---->

Java Code:
```public class Point
{
private double _alpha;
private final double DEFAULT_VAL = 0;

{
double deg = rad * (180.0 / (Math.PI));
return deg;
}

{
double rad = deg * (Math.PI / 180);
}

public Point(double x, double y)
{
if (x <= DEFAULT_VAL)
x = DEFAULT_VAL;
if (y <= DEFAULT_VAL)
y = DEFAULT_VAL;
_radius = Math.sqrt((Math.pow(x, 2)) + (Math.pow(y, 2)));
_alpha = radToDeg(Math.atan((double) y / (double) x));
_alpha = Math.round(_alpha*10000)/(double) 10000;

}

public Point(Point other)
{
if (other!=null)

{

_alpha = other._alpha;

}
}

public double getX()
{
_alpha = Math.round(_alpha*10000)/(double) 10000;

return (x>=DEFAULT_VAL)?x:DEFAULT_VAL;

}
public double getY()
{
_alpha = Math.round(_alpha*10000)/(double) 10000;

return (y>=DEFAULT_VAL)?y:DEFAULT_VAL;

}
public void setX(double num)
{
if (num>= DEFAULT_VAL)
{
double y = getY();
double x = num;
_radius = Math.sqrt(y * y + x * x);
_alpha = Math.atan(y/x);
_alpha = Math.round(_alpha*10000)/(double) 10000;
}
}
public void setY(double num)
{
if (num>= DEFAULT_VAL)
{
double x = getX();
double y = num;
_radius = Math.sqrt(y * y + x * x);
_alpha = Math.atan(y/x);
_alpha = Math.round(_alpha*10000)/(double) 10000;
}
}
public String toString()
{
return "("+ getX()+ "," +getY()+ ")";

}
public boolean equals(Point other)
{
if (other==null)
return  false;
else
}
public boolean isAbove(Point other)
{
if (other==null)
return  false;
else
return (other.getY()<this.getY());
}
public boolean isUnder(Point other)
{
return !isAbove(other);
}
public boolean isLeft(Point other)
{
if (other==null)
return  false;
else
return (other.getX()>this.getX());

}
public boolean isRight(Point other)
{
return !isLeft(other);
}
public double distance(Point p)
{
double x1;
double y1;

if(p!=null)

x1 = p.getX();
y1 = p.getY();

return Math.sqrt(Math.pow(getX()-p.getX(), 2) + (Math.pow(getY()-p.getY(), 2)));

}
public void move(double dx, double dy)
{
setX(getX()+dx);
setY(getY()+dy);
}
}```

the taster:
Java Code:
```public class PointTester {

public static void main(String[] args) {
System.out.println("********** Test Q1 Point - Start **********");
System.out.println("testing first constructor and getters:");
Point p0 = new Point(0,0);
if (p0.getX() != 0 || p0.getY() != 0){
System.out.println("\t ERROR - default constructor and getters,expected (0.0, 0.0) actual= (" + p0.getX() + ", " + p0.getY() +")");
} else
System.out.println("\t OK - default constructor and getters expected (0.0, 0.0) actual=(" + p0.getX() + ", " + p0.getY() +")");
p0 = new Point(0,4);
if (p0.getX() != 0 || p0.getY() != 4.0){
System.out.println("\t ERROR - default constructor and getters expected (0.0, 4.0) actual= (" + p0.getX() + ", " + p0.getY() +")");;
} else
System.out.println("\t OK - default constructor and getters expected (0.0, 4.0) actual=(" + p0.getX() + ", " + p0.getY() +")");
p0 = new Point(3,0);
if (p0.getX() != 3.0 || p0.getY() != 0){
System.out.println("\t ERROR - default constructor and getters expected (3.0, 0.0) actual= (" + p0.getX() + ", " + p0.getY() +")");;
} else
System.out.println("\t OK - default constructor and getters expected (3.0, 0.0) actual=(" + p0.getX() + ", " + p0.getY() +")");

p0 = new Point(3.3, 4.4);
if (p0.getX() != 3.3 || p0.getY() != 4.4){
System.out.println("\t ERROR - default constructor and getters (x, y): expected(3.3, 4.4); actual=" + p0);
} else
System.out.println("\t OK - default constructor and getters (x, y): expected(3.3, 4.4); actual=" + p0);
System.out.println("testing copy constructor: ");
Point p1 = new Point(p0);
if (p1.getX() != 3.3 || p1.getY() != 4.4){
System.out.println("\t ERROR - copy constructor (other p): expected(3.3, 4.4) ; actual=" + p1);
} else
System.out.println("\t OK - copy constructor (other p): expected(3.3, 4.4) ; actual=" + p1);

System.out.println("testing setters:");

p0 = new Point(3,4);
p0.setX(5);
if (p0.getX() != 5 || p0.getY() != 4){
System.out.println("\t ERROR - setX point was (3.0,4.0) set x to 5.0 expected (5.0, 4.0) actual= (" + p0.getX() + ", " + p0.getY() +")");;
} else
System.out.println("\t OK - setX point was (3.0,4.0) set x to 5.0 expected (5.0, 4.0)  actual=(" + p0.getX() + ", " + p0.getY() +")");
p0 = new Point(3,4);
p0.setY(5);
if (p0.getX() != 3 || p0.getY() != 5){
System.out.println("\t ERROR - setY point was (3.0,4.0) set y to 5.0 expected (3.0, 5.0) actual= (" + p0.getX() + ", " + p0.getY() +")");;
} else
System.out.println("\t OK - setY point was (3.0,4.0) set y to 5.0 expected (3.0, 5.0)  actual=(" + p0.getX() + ", " + p0.getY() +")");
System.out.println("testing equals:");

p1=new Point(2,3);
Point p2=new Point(2,3);
if (! p1.equals(p2)){
System.out.println("\t ERROR - p1.equals(p2) expected true ; actual=" + p1.equals(p2) + ";  p1=" + p1 + " p2=" + p2);
} else
System.out.println("\t OK - p1.equals(p2) expected true ; actual=" + p1.equals(p2) + ";  p1=" + p1 + " p2=" + p2);//check above and under p1 & p5 same high, p4 above
System.out.println("testing isAbove:");
p1=new Point(2,4);
p2=new Point(2,3);
if (! p1.isAbove(p2)){
System.out.println("\t ERROR - p1.isAbove(p2) expected true ; actual=" + p1.isAbove(p2) + ";  p1=" + p1 + " p2=" + p2);
} else
System.out.println("\t OK - p1.isAbove(p2) expected true ; actual=" + p1.isAbove(p2) + ";  p1=" + p1 + " p2=" + p2);
System.out.println("testing isUnder:");
p1=new Point(2,3);
p2=new Point(2,4);
if (! p1.isUnder(p2)){
System.out.println("\t ERROR - p1.isUnder(p2) expected true ; actual=" + p1.isUnder(p2) + ";  p1=" + p1 + " p2=" + p2);
} else
System.out.println("\t OK - p1.isUnder(p2) expected true ; actual=" + p1.isUnder(p2) + ";  p1=" + p1 + " p2=" + p2);
System.out.println("testing isLeft:");
p1=new Point(2,4);
p2=new Point(3,4);
if (! p1.isLeft(p2)){
System.out.println("\t ERROR - p1.isLeft(p2) expected true ; actual=" + p1.isLeft(p2) + ";  p1=" + p1 + " p2=" + p2);
} else
System.out.println("\t OK - p1.isLeft(p2) expected true ; actual=" + p1.isLeft(p2) + ";  p1=" + p1 + " p2=" + p2);
System.out.println("testing isRight:");
p1=new Point(3,4);
p2=new Point(2,4);
if (! p1.isRight(p2)){
System.out.println("\t ERROR - p1.isRight(p2) expected true ; actual=" + p1.isRight(p2) + ";  p1=" + p1 + " p2=" + p2);
} else
System.out.println("\t OK - p1.isRight(p2) expected true ; actual=" + p1.isRight(p2) + ";  p1=" + p1 + " p2=" + p2);

System.out.println("testing move:");
p0=new Point(1,1);
p0.move(2,2);
if (p0.getX() != 3 || p0.getY() != 3) {
System.out.println("\t ERROR - p0 was (1.0,1.0) p0.move(2.0,2.0) expected p0(3.0,3.0); actual=" + p0);
} else
System.out.println("\t OK - p0 was (1.0,1.0) p0.move(2.0,2.0) expected p0(3.0,3.0); actual="+ p0);
System.out.println("testing distance:");
p0 = new Point (0,0);
p2 = new Point (4.0, 3.0);
if (p0.distance(p2) != 5) {
System.out.println("\t ERROR - p0.distance(p2) expected 5 ; actual=" + p0.distance(p2) + " p0=" + p0 + "; p2=" + p2);
} else
System.out.println("\t OK - p0.distance(p2) expected 5 ; actual=" + p0.distance(p2) + " p0=" + p0 + "; p2=" + p2);

System.out.println("********** Test Q1 Point - Finished **********\n");
}}```
Last edited by Tolls; 04-28-2017 at 01:12 PM.

2. Moderator
Join Date
Apr 2009
Posts
13,541
Rep Power
27

## Re: can`t understand were is the promlem

You haven't said what error you are getting.

Also, when posting code could you please wrap it in code tags so it retains its formatting.
Unformatted code is hard to follow.

3. Member
Join Date
Apr 2017
Posts
5
Rep Power
0

## Re: can`t understand were is the promlem

********** Test Q1 Point - Start **********
testing first constructor and getters:
OK - default constructor and getters expected (0.0, 0.0) actual=(0.0, 0.0)
ERROR - default constructor and getters expected (0.0, 4.0) actual= (0.0, 3.5759866544022314)
OK - default constructor and getters expected (3.0, 0.0) actual=(3.0, 0.0)
ERROR - default constructor and getters (x, y): expected(3.3, 4.4); actual=(0.0,1.5039601647369094)
testing copy constructor:
ERROR - copy constructor (other p): expected(3.3, 4.4) ; actual=(0.0,1.5039601647369094)
testing setters:
ERROR - setX point was (3.0,4.0) set x to 5.0 expected (5.0, 4.0) actual= (5.0000649568571145, 1.3671354677607739)
ERROR - setY point was (3.0,4.0) set y to 5.0 expected (3.0, 5.0) actual= (0.0, 4.999999999966269)
testing equals:
OK - p1.equals(p2) expected true ; actual=true; p1=(3.5033096433243656,0.0) p2=(3.5033096433243656,0.0)
testing isAbove:
OK - p1.isAbove(p2) expected true ; actual=true; p1=(3.683272369243531,2.536372027910564) p2=(3.5033096433243656,0.0)
testing isUnder:
OK - p1.isUnder(p2) expected true ; actual=true; p1=(3.5033096433243656,0.0) p2=(3.683272369243531,2.536372027910564)
testing isLeft:
ERROR - p1.isLeft(p2) expected true ; actual=false; p1=(3.683272369243531,2.536372027910564) p2=(0.0,1.3672365133971902)
testing isRight:
ERROR - p1.isRight(p2) expected true ; actual=false; p1=(0.0,1.3672365133971902) p2=(3.683272369243531,2.536372027910564)
testing move:
ERROR - p0 was (1.0,1.0) p0.move(2.0,2.0) expected p0(3.0,3.0); actual=(2.742820143290952,3.2033909379839054)
testing distance:
ERROR - p0.distance(p2) expected 5 ; actual=3.3772857805801673 p0=(0.0,0.0); p2=(3.3772857805801673,0.0)
********** Test Q1 Point - Finished **********

this is the resoulte but i dont understand what to fix

4. Moderator
Join Date
Apr 2009
Posts
13,541
Rep Power
27

## Re: can`t understand were is the promlem

Well, that first error is from lines 11-14 in the tester code.

So the result of;
Java Code:
`p0 = new Point(0,4);`
is producing incorrect values.
To me, it looks like those values are supposed to reflected back accurately.
So, the question is, why is your (double, double) constructor doing all those calculations?

The class is a Point, so I wouldn't expect a Point to have a radius, or an alpha (whatever that is).
i would expect it to be coordinates.

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•