JAVA 프로그램 설계(자체 모드) - 입력한 3개의 더블 유형 데이터에 따라 삼각형 객체를 구성할 수 있는 삼각형 클래스를 작성합니다.

프로그래밍 연습문제2


 
(100/100 점수)
삼각형 클래스를 작성하여 입력한 3개의 더블 형식 데이터에 따라 삼각형 대상을 구성하고 세 가지 구조 방법을 정의할 수 있습니다.이 세 데이터가 삼각형을 구성하는 조건을 충족시키면 직접 삼각형을 구성한다.그렇지 않으면 3개의 수의 최대값이 0보다 크면 최대값이 변인 등변 삼각형이 자동으로 구성됩니다.최대값이 0보다 크지 않으면 삼각형 클래스의 세 변이 모두 0으로 초기화됩니다.다시 getarea 방법을 정의하여 구성된 삼각형의 면적을 계산하고, 되돌아오는 형식은 더블 형식이다.마지막으로main방법을 작성하고 getarea방법을 테스트하여 삼각형의 면적을 계산합니다.입력: 세 개의 유리수를 입력하고 중간에 빈칸으로 구분한다.예: 8.9 6.4 7.2 출력: 출력 삼각형의 면적.예: 22.78812396293297
Java:
import java.util.Scanner;

public class Main
{

	public static void main(String[] args)
	{
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		double x, y, z;
		x = sc.nextDouble();
		y = sc.nextDouble();
		z = sc.nextDouble();
		sc.close();
		
		Triangle t = new Triangle(x, y, z);
		System.out.println(t.getArea());
	}

}

class Triangle
{
	private double x, y, z;
	public Triangle(double x, double y, double z)
	{
		double max = -1;
		boolean flag = false;
		if (x > 0 && y > 0 && z > 0)
		{
			if (x + y > z && x + z > y && y + z > x)
			{
				this.x = x;
				this.y = y;
				this.z = z;
				flag = true;
				
			}
			else
			{
				max = x > y ? x : y;
				max = max > z ? max : z;
			}
		}
		else
		{
			max = x > y ? x : y;
			max = max > z ? max : z;
		}
		
		if (max < 0)
			max = 0;
		if (!flag)
			this.x = this.y = this.z = max;
	}
	public double getArea()
	{
		double p = (x + y + z)/2;
		return Math.sqrt(p * (p - x) * (p - y) * (p - z));
	}
}

좋은 웹페이지 즐겨찾기