Binary World

JAVA CLASS : 접근 제한 수식어를 이용한 두 점 사이의 거리구하기 본문

개발자의 길/JAVA

JAVA CLASS : 접근 제한 수식어를 이용한 두 점 사이의 거리구하기

모쿠 2016. 12. 30. 09:51

<제공된 정보>


1) 멤버 변수: x좌표, y좌표 -> private

2) 생성자 : 기본 생성자, 매개변수 생성자

3) 메소드 : 

   (1) getter/setter 메소드 -> 4개

   (2) 두 점 사이의 거리를 리턴하는 메소드 

      - public double distance(Point pt) {...}

      - Math.sqrt() 함수 사용: 



<Java Code>


* Point.java(점에 대한 변수를 선언하고 거리를 구하는 메소드를 선언하는 클래스)


package edu.java.point;


public class Point {

private double x; // x좌표 

private double y; // y좌표

// 기본 생성자

public Point(){}

// x, y를 갖는 생성자

public Point(double x, double y){

this.x = x;

this.y = y;

}

// x 값을 호출하는 메소드

public double getPointX(){

return x;

}

// x 값을 Point 클래스에 저장하는 메소드

public void setPointX(double x){

this.x = x;

}

// y 값을 호출하는 메소드

public double getPointY(){

return y;

}

// y 값을 point 클래스에 저장하는 메소드

public void setPointY(double y){

this.y = y;

}

// 거리값을 계산하는 메소드

public double distance(Point pt){

return Math.sqrt((pt.x-x)*(pt.x-x) + (pt.y - y)*(pt.y - y));

}

// Math.srqt : 함수 안에 값을 루트로 계산

// pt.x, pt.y : 외부에서 받아오는 좌표값

// x, y : 기존에 저장되어 있던 좌표값


} // end class point 



* PointMain.java(좌표값을 저장하거나 출력하고 두 점사이의 거리값을 출력)


package edu.java.point;


public class PointMain {


public static void main(String[] args) {

// 포인트 클래스 출력

Point pt1 = new Point(6, 3); // pt1 에 x, y 좌표값을 저장 

double x1 = pt1.getPointX(); // pt1의 x값을 x1에 저장

double y1 = pt1.getPointY(); // pt1의 y값을 y1에 저장

System.out.println("첫번째 좌표값 : " + "(" + x1 + "," + y1 + ")" );


Point pt2 = new Point(3, 2); // pt2에 x, y 좌표값을 저장

double x2 = pt2.getPointX(); // pt2에 x값을 x2에 저장

double y2 = pt2.getPointY(); // pt2에 y값을 y2에 저장

System.out.println("두번째 좌표값 : " + "(" + x2 + "," + y2 + ")" );

double distance = pt1.distance(pt2); 

// pt1의 좌표값과 pt2의 좌표값으로 두 점사이의 거리를 계산

System.out.println("두점 사이의 거리 : " + distance);


} // end main()

 

} // end class PointMain 



/* 데이터 타입에 대한 상식 */

// 큰타입은 작은타입으로 형변환이 불가능하다

// 넘치지 않으면 형변환이 가능함

// 예외)int는 short나 byte로 자동 형변환 해줌



* 출력값


첫번째 좌표값 : (6.0,3.0)

두번째 좌표값 : (3.0,3.0)

두점 사이의 거리 : 3.0


Comments