- 점3개로 삼각형 넓이 구하기 예제2024년 07월 15일
- chantleman
- 작성자
- 2024.07.15.:26
point 클래스
public class Point { int x; int y; public Point(int x, int y) { this.x = x; this.y = y; } }
triagle 클래스
public class Triangle { Point p1; Point p2; Point p3; double area; public Triangle(Point p1, Point p2, Point p3) { this.p1=p1; this.p2=p2; this.p3=p3; area = Math.abs(((p1.x*p2.y + p2.x*p3.y + p3.x*p1.y) - (p1.x*p3.y + p2.x*p1.y + p3.x*p2.y)))/2.0; } public Triangle(int x1, int y1, int x2, int y2, int x3, int y3) { // p1= new Point(x1, y1); // p2= new Point(x2, y2); // p3= new Point(x3, y3); //위 생성자 재호출해서 area 구하기 this(new Point(x1, y1), new Point(x2, y2), new Point(x3, y3)); } public static void main(String[] args) { Triangle t1 = new Triangle(0,0, 10,0, 0,10); System.out.println(t1.area); Triangle t2 = new Triangle(new Point(0,0), new Point(10,0), new Point(0,10)); System.out.println(t2.area); } }
toString() 이용하기
point 클래스
public class Point { int x; int y; public Point(int x, int y) { this.x = x; this.y = y; } @Override public String toString() { return "("+x+", "+y+")"; }
Triangle 클래스
public class Triangle { Point p1; Point p2; Point p3; double area; public Triangle(Point p1, Point p2, Point p3) { this.p1=p1; this.p2=p2; this.p3=p3; area = Math.abs(((p1.x*p2.y + p2.x*p3.y + p3.x*p1.y) - (p1.x*p3.y + p2.x*p1.y + p3.x*p2.y)))/2.0; } public Triangle(int x1, int y1, int x2, int y2, int x3, int y3) { this(new Point(x1, y1), new Point(x2, y2), new Point(x3, y3)); } @Override public String toString() { return "넓이: "+area +"\n" + p1 +", "+p2+", "+ p3; } public static void main(String[] args) { Triangle t1 = new Triangle(0,0, 10,0, 0,10); System.out.println(t1); Triangle t2 = new Triangle(new Point(0,0), new Point(10,0), new Point(0,10)); System.out.println(t2); } }
728x90'자바' 카테고리의 다른 글
enum (0) 2024.07.17 생산자, 오버로딩 활용하여 원기둥 부피 구하기 예제 (0) 2024.07.15 constructor, 생성자 (0) 2024.07.15 버블 소팅 (0) 2024.07.12 버블 소팅 이용한 로또 예제 (0) 2024.07.12 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)