학부 1학년인데 헤매네여ㅠㅠㅠㅠ
메인 메소드에서 Point 객체를 3개 선언했으니까 카운트 3으로 뜨게 하고 싶은데
중간에 add(int a, int b) 부분에서 한번 선언하니 카운트도 하나 올라가서 4로 출력되네요... 3으로 출력되게 하는 법 없을까요? add(int a, int b) 부분에서 포인트 객체를 새로 생성하지 않고 쓸 수 있는 방법이 있을텐데 제가 모르겠네요ㅠㅠ
public class Point {
private int x;
private int y;
private int id;
static int count=0;
final int max=100;
final int min=0;
Point (){
this(0,0);
}
Point (int a, int b){
setXY(a,b);
}
private void setXY(int a,int b){
if(a>max || a x = 0;
System.out.println("입력오류");
}
else if(b>max || b y = 0;
System.out.println("입력오류");
}
else{
x = a;
y = b;
count += 1;
}
}
public String toString(){
return "("+x+","+y+")";
}
public void add(Point p1){
x += p1.x;
y += p1.y;
}
public static Point add(Point p1, Point p2){
Point p3 = new Point();
p3.x = p1.x + p2.x;
p3.y = p1.y + p2.y;
return p3;
}
public static int getCount(){
return count;
}
}
=================================================================================================================
public class PointTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Point p1 = new Point();
Point p2 = new Point(78,95);
System.out.println(p1);
System.out.println(p2);
p2.add(p1);
Point p3 = new Point();
p3 = p3.add(p1,p2);
int a = Point.getCount();
System.out.println(a);
Point p [] = new Point [3];
p[0] = p1;
p[1] = p2;
p[2] = p3;
for (Point pp : p){
System.out.println(pp);
}
}
}
=================================================================================================================
(0,0)
(78,95)
4
(0,0)
(78,95)
(78,95)