2020/10/07 公開
・3辺の長さで三角形かを判定
ここでは、与えられた3つの辺長a,b,cを持つ三角形は、三角形として成立しているかを判定する方法を説明します。
判定の手順は以下のとおりです。
①3つの辺長のうち、1つでも0以下のものがあれば「三角形ではない」と判定します。
②2つの辺長の和が、他の1つの辺の長さ以下の場合、「三角形ではない」と判定します。
以下のいずれかの条件を満たした場合、三角形ではありません。
( b + c ) <= a
( a + c ) <= b
( a + b ) <= c
③①と②の条件を満たさい場合、「三角形である」と判定します。
それでは、この内容をJavaのソースコードにしたものを紹介します。
TriangleCheck1.java ← クリックしてダウンロードページに移動001: public class TriangleCheck1 { 002: // 3辺の長さabcを渡して、三角形になるかを判定 003: static boolean isTriangle( double a, double b, double c ) 004: { 005: // 長さが0より長いかを検査 006: if ( 0.0 >= a ) return false; 007: if ( 0.0 >= b ) return false; 008: if ( 0.0 >= c ) return false; 009: 010: // 2辺の長さの和が、他の1辺より長いかを検査 011: if ( ( b + c ) <= a ) return false; 012: if ( ( a + c ) <= b ) return false; 013: if ( ( a + b ) <= c ) return false; 014: 015: // 三角形になると判定 016: return true; 017: } 018: 019: 020: // メイン 021: public static void main(String[] args) { 022: // 辺の長さを格納する変数を宣言 023: double a, b, c; 024: 025: // 入力した引数が3以上かを調べる 026: if ( 3 > args.length ) { 027: // 入力した引数が3未満の場合、使用方法を表示する 028: System.out.println( 029: "TriangleCheck1 [辺長1] [辺長2] [辺長3]" ); 030: return; 031: } 032: 033: // 引数の値をa,b,cに代入 034: try { 035: // 引数を変換し、a,b,cに代入 036: a = Double.valueOf( args[ 0 ] ); 037: b = Double.valueOf( args[ 1 ] ); 038: c = Double.valueOf( args[ 2 ] ); 039: } 040: catch( NumberFormatException ne ) 041: { 042: System.out.println( "引数が不正です" ); 043: return; 044: } 045: 046: // 3辺の長さを出力 047: System.out.println( "辺aの長さ=" + a ); 048: System.out.println( "辺bの長さ=" + b ); 049: System.out.println( "辺cの長さ=" + c ); 050: System.out.print( "判定結果:" ); 051: 052: // 三角形になるかを判定 053: if ( isTriangle( a, b, c ) ) 054: System.out.println( "○" ); 055: else 056: System.out.println( "×" ); 057: } 058: }
TriangleCheck1の実行例①
java TriangleCheck1 3 4 5
TriangleCheck1の出力結果①
辺aの長さ=3.0 辺bの長さ=4.0 辺cの長さ=5.0 判定結果:○
辺の長さが3と4と5の場合、三角形として成立できると判定しています。
TriangleCheck1の実行例②
java TriangleCheck1 1 4 5
TriangleCheck1の出力結果②
辺aの長さ=1.0 辺bの長さ=4.0 辺cの長さ=5.0 判定結果:×
辺の長さが1と4と5の場合、三角形として成立できないと判定しています。(1+4)<=5の条件を満たしているので三角形にはなりません。
これまで判定について説明した箇所は、以下のメソッドです。
002: // 3辺の長さabcを渡して、三角形になるかを判定 003: static boolean isTriangle( double a, double b, double c ) 004: { 005: // 長さが0より長いかを検査 006: if ( 0.0 >= a ) return false; 007: if ( 0.0 >= b ) return false; 008: if ( 0.0 >= c ) return false; 009: 010: // 2辺の長さの和が、他の1辺より長いかを検査 011: if ( ( b + c ) <= a ) return false; 012: if ( ( a + c ) <= b ) return false; 013: if ( ( a + b ) <= c ) return false; 014: 015: // 三角形になると判定 016: return true; 017: }
3辺の長さをdouble型の変数a、b、cで渡し、戻り値がtrueであれば三角形として成立、戻り値がfalseであれば三角形になれないことを表しています。
以上です。
■関連コンテンツ
コマンドライン引数 | 外部からの値を受け取る方法について解説 |
メソッド | メソッドについて解説 |
正三角形 | 正三角形とは |
二等辺三角形 | 二等辺三角形とは |
■新着情報
2022.07.07 | 外部プログラムの実行 | exeファイル実行 |
2022.07.06 | 完全数 | 6=1+2+3 |
■広告