私はこの質問に関係した専門用語と混同しています:
3本の直線a、b、cが与えられます。2本の線の合計が常に3本目の線よりも大きい場合(つまり、a +b>cおよびb+c>aおよびa+c)、三角形を形成できます。
b)。次のようにJavaクラスTriangleを記述します。
Attributes: length of the three sides of the triangle
Behaviour:
- 渡された値に3辺の長さを設定するコンストラクター。値が三角形を形成できない場合、コンストラクターはInvalidValueExceptionオブジェクトをスローする必要があります。
- 数式area=a + b + cを使用してTriangleオブジェクトの面積を計算するfindArea()メソッド
私が思いついたコードはこれです:
package question3_test;
import java.awt.event.*;
import java.math.*;
public class Triangle_getvalues
{
private int side1, side2, side3;
private double area;
private String message;
public int getSide1()
{
return side1;
}
public void setSide1(int s1)
{
side1 = s1;
}
public int getSide2()
{
return side2;
}
public void setSide2(int s2)
{
side2 = s2;
}
public int getSide3()
{
return side3;
}
public void setSide3(int s3)
{
side3 = s3;
}
public double findArea(int side_1, int side_2, int side_3)throws InvalidValueException
{
int s, a, b,c;
a = side_1;
b = side_2;
c = side_3;
s = ((a + b + c)/2);
area = Math.sqrt(s*(s-a)*(s-b)*(s-c));
//area =
return area;
}
public void validateTriangle(int sidea, int sideb, int sidec) throws InvalidValueException
{
try
{
if((sidea + sideb > sidec)||(sideb + sidec > sidea)||(sidea + sidec > sideb))
{
findArea(side1,side2,side3);
}
}
catch(InvalidValueException excep)
{
message = excep.getMessage();
}
}
}
class InvalidValueException extends Exception
{
public InvalidValueException()
{
super("These values cannot form a valid triangle");
}
}
私が知りたいのは、何かが足りないということではありませんが(何かが足りない場合は知らせてください)、ここで尋ねる主な目的は、これがこの質問に答える正しい方法ですか?