Javaプログラミング学習サイト ゆるゆるプログラミング

・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であれば三角形になれないことを表しています。

以上です。

■関連コンテンツ

コマンドライン引数 外部からの値を受け取る方法について解説
メソッド メソッドについて解説
正三角形 正三角形とは
二等辺三角形 二等辺三角形とは
四則演算(足し算/引き算/掛け算/割り算)について-画像

計算結果の表示

足し算(加法)/引き算(減法)/掛け算(乗法)/割り算(除法)の使い方を説明

条件による処理の分岐に使用するif文について解説-画像

if文

条件による処理の分岐に使用するif文について解説

■新着情報

2020.11.11 正確な割合のノイズ画像 正確な割合のノイズ画像を作成する方法を解説
2020.11.02 2進数を整数に変換 "11001"→25
2020.10.29 文字数字を数値に変換 "12345"→12345
2020.10.28 1からNの和 1+2+3+ … +N=?
2020.10.21 画像の上下反転 画像を上下反転する方法
2020.10.19 指定色の画素数取得 指定RGBの画素数は何個?
2020.10.13 2値化 その2 2値のBMP画像を作成
2020.10.07 3辺の長さで三角形かを判定 3辺abcで三角形が作れるか?
2020.10.06 画像のミラー反転 画像をミラー(鏡)反転する方法

■広告

フィギュア予約最大25%OFF+ポイント5%還元!ホビーサーチ

~約8,000名の受講生と80社以上の導入実績~ 企業向けプログラミング研修ならCodeCamp

日本最大級ショッピングサイト!お買い物なら楽天市場

 

 

 

 

 

 

 

 

Topへ