booleanのエラーコードーの意味が分かりません
三角形を作るコードを書きました、JAVAの超初心者です宜しくお願いします。
下記のエラーコードが出ています。
1.「型Mathのメソッドabs(int)は引数(boolean)に適用できません。」
ここでどうしてもbooleanで答えを表示させたい場合には、どこをどのように書き直せばよいのでしょうか。
このような書き方がエラーであれば全てのbooleanコードーがエラーになってしまうような気がするのですが。
2.これをEclipseで実行させた場合には、args[1]~args[2]のデーター入力はどのようにしてやるのでしょうか。
実行させたときにキーから入力してやるのですか。
3. コンスタラクタ「this.L1 = a ;」でわざわざ「L1=a;」を定義してやる意味が良く分かりません。
他のメッソド「boolean isTriangle()」、「double getArea()」は「L1・・」で定義されている関数なのにわざわざ「L1=a;」を定義してやる意味が理解できません。
このケースではたまたまコンストラクタは必要ないし、省略も可かもしれませんが。
メッソドの後ろの「()」は、必要の場合はメッソドの引数を入れると本には書いていますが、クラス内で、メンバー変数として(この場合は「int L1, L2, L3 ;」)定義してやれば、メッソドからは、アクセスできるのでそのような処理がなぜ必要かがわかりません。
以上宜しくお願い致します。
________________________________
class Sample {
int L1, L2, L3 ;
Sample (int a, int b, int c) {
this.L1 = a ;
this.L2 = b ;
this.L3 = c ;
}
boolean isTriangle() {
if(( L1 + L2 ) > L3 && Math.abs(( L1 - L2 ) < L3 )) {
boolean S_bool = true ;
}
else{
boolean S_bool = false ;
}
return S_bool ;
}
double getArea() {
double S = (double)((L1+L2+L3)/2.0) ;
double area = Math.sqrt(S*(S-L1)*(S-L2)*(S-L3));
return area ;
}
}
class Sample_Test {
public static void main(String args[]) {
int s1 = Integer.parseInt( args[ 0 ] ) ;
int s2 = Integer.parseInt( args[ 1 ] ) ;
int s3 = Integer.parseInt( args[ 2 ] ) ;
Sanmple t1 = new Sample ( s1 , s2 , s3 ) ;
boolean sankaku = t1.isTriangle() ;
double menseki = t1.getArea() ;
System.out.println( sankaku ) ;
System.out.println( menseki ) ;
}
}
お礼
よくわかりました! とてもわかりやすいです。 助かりました! ちょっと理解が足りませんでした。