package j2.lesson02;
/**
* 課題1503 - 解答例.
* 三角形を表すクラス.
* @author arakawa
* @version $Id: Triangle_java.rps,v 1.1 2006/03/06 12:56:15 java2005 Exp $
*/
public class Triangle {
// 内部表現
/** 辺 a の長さ. */
double a;
/** 辺 b の長さ. */
double b;
/** 辺 c の長さ. */
double c;
/**
* 3辺の長さから三角形インスタンスを作成する。
* @param a 辺 a の長さ
* @param b 辺 b の長さ
* @param c 辺 c の長さ
*/
// コンストラクタ
public Triangle(double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
/**
* 3点の座標から三角形インスタンスを作成する。
* @param p1 点1の座標
* @param p2 点2の座標
* @param p3 点3の座標
*/
// コンストラクタ
public Triangle(Point p1, Point p2, Point p3) {
this.a = p1.distance(p2);
this.b = p2.distance(p3);
this.c = p3.distance(p1);
}
/**
* この三角形の面積を計算する。
* @return この三角形の面積
*/
public double area() {
double s = (this.a + this.b + this.c) / 2;
return Math.sqrt(s * (s - this.a) * (s - this.b) * (s - this.c));
}
/**
* テストプログラム。自由作成してよい。
* @param args 無視される
*/
public static void main(String[] args) {
// 自由に作成してよい。
}
}
|