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

2020/03/23 公開

・台形の面積計算

上底と下底と高さから台形の面積を計算するプログラムを解説します。

台形の面積は、(上底+下底)×高さ÷2で計算できます。

台形の面積計算

下図のように、台形の右側に、上と下を逆にした台形をくっつけて平行四辺形を作ります。平行四辺形の面積は(底辺×高さ)で求められるので、下図の平行四辺形の場合には、底辺が(上底+下底)となり、面積が(上底+下底)×高さとなります。

台形の面積は、平行四辺形の面積の半分なので(上底+下底)×高さ÷2となります。

台形の面積計算の解説

ここでは、キーボードから上底と下底と高さを入力して、台形の面積を表示するプログラムを紹介します。

AreaofTrapezoid1.java ← クリックしてダウンロードページに移動
001:    import java.util.Scanner;
002:    
003:    public class AreaofTrapezoid1 {
004:    	public static void main( String[] args ) {
005:    		double upperbase;	// 上底
006:    		double lowerbase;	// 下底
007:    		double height;		// 高さ
008:    		double area;		// 面積
009:    
010:    		// キーボード入力
011:    		Scanner scanner = new Scanner(System.in);
012:    
013:    		// 上底の入力
014:    	        System.out.print( "上底:" );
015:    		upperbase = scanner.nextDouble();
016:    
017:    		// 下底の入力
018:    	        System.out.print( "下底:" );
019:    		lowerbase = scanner.nextDouble();
020:    
021:    		// 高さの入力
022:    	        System.out.print( "高さ:" );
023:    		height = scanner.nextDouble();
024:    
025:    		// 台形の面積計算 (上底+下底)×高さ÷2
026:    		area = ( upperbase + lowerbase ) * height / 2.0;
027:    
028:    		// 台形の面積を表示
029:    		System.out.println( "台形の面積:" + area );
030:    	}
031:    }

AreaofTrapezoid1を実行

C:\talavax\javasample>java AreaofTrapezoid1

上底に5、下底に4、高さに3をキーボードから入力して台形の面積を計算した結果です。

AreaofTrapezoid1.javaの出力結果

上底:5
下底:4
高さ:3
台形の面積:13.5

ここからは、このソースコードを上から順番に解説していきます。

001:    import java.util.Scanner;

Javaのクラスライブラリの中から「java.util.Scanner」というパッケージにあるクラスを、このプログラム内で使うために記述します。 この記述により、Scannerクラスが利用できるようになります。これでキーボードから値の入力が行えるようになります。

003:    public class AreaofTrapezoid1 {

クラス名を、AreaofTrapezoid1としています。

004:    	public static void main( String[] args ) {

このmainメソッドからプログラムを実行します。

005:    		double upperbase;	// 上底
006:    		double lowerbase;	// 下底
007:    		double height;		// 高さ
008:    		double area;		// 面積

このプログラムで使う変数を宣言しています。

010:    		// キーボード入力
011:    		Scanner scanner = new Scanner(System.in);

Scannerクラスを作成しています。

013:    		// 上底の入力
014:    	        System.out.print( "上底:" );
015:    		upperbase = scanner.nextDouble();

キーボードから入力した上底の値をdouble型変数upperbaseに代入します。入力した値が数値で無い場合、エラーを表示してプログラムを強制終了します。

017:    		// 下底の入力
018:    	        System.out.print( "下底:" );
019:    		lowerbase = scanner.nextDouble();

キーボードから入力した下底の値をdouble型変数lowerbaseに代入します。入力した値が数値で無い場合、エラーを表示してプログラムを強制終了します。

021:    		// 高さの入力
022:    	        System.out.print( "高さ:" );
023:    		height = scanner.nextDouble();

キーボードから入力した高さの値をdouble型変数heightに代入します。入力した値が数値で無い場合、エラーを表示してプログラムを強制終了します。

025:    		// 台形の面積計算 (上底+下底)×高さ÷2
026:    		area = ( upperbase + lowerbase ) * height / 2.0;

台形の面積計算した値をdouble型変数areaに代入しています。

028:    		// 台形の面積を表示
029:    		System.out.println( "台形の面積:" + area );

台形の面積計算を表示しています。

次に、台形の面積を計算する処理をメソッドにしたJavaソースコードを紹介します。

AreaofTrapezoid2.java ← クリックしてダウンロードページに移動
001:    import java.util.Scanner;
002:    
003:    public class AreaofTrapezoid2 {
004:    	// 台形の面積を求めるメソッド
005:    	// upperbase : 上底
006:    	// lowerbase : 下底
007:    	// height : 高さ
008:    	public static double calc_AreaofTrapezoid( double upperbase,
009:    					double lowerbase, double height )
010:    	{
011:    		double area;
012:    
013:    		// (上底+下底)×高さ÷2
014:    		area = ( upperbase + lowerbase ) * height / 2.0;
015:    
016:    		return area;
017:    	}
018:    
019:    
020:    	// メイン
021:    	public static void main( String[] args ) {
022:    		double upperbase;	// 上底
023:    		double lowerbase;	// 下底
024:    		double height;		// 高さ
025:    		double area;		// 面積
026:    
027:    		// キーボード入力
028:    		Scanner scanner = new Scanner(System.in);
029:    
030:    		// 上底の入力
031:    	        System.out.print( "上底:" );
032:    		upperbase = scanner.nextDouble();
033:    
034:    		// 下底の入力
035:    	        System.out.print( "下底:" );
036:    		lowerbase = scanner.nextDouble();
037:    
038:    		// 高さの入力
039:    	        System.out.print( "高さ:" );
040:    		height = scanner.nextDouble();
041:    
042:    		// メソッドを呼んで台形の面積計算
043:    		area = calc_AreaofTrapezoid( upperbase, lowerbase, height );
044:    
045:    		// 台形の面積を表示
046:    		System.out.println( "台形の面積:" + area );
047:    	}
048:    }

AreaofTrapezoid2を実行

C:\talavax\javasample>java AreaofTrapezoid2

上底に5、下底に4、高さに3をキーボードから入力して台形の面積を計算した結果です。

AreaofTrapezoid2.javaの出力結果

上底:5
下底:4
高さ:3
台形の面積:13.5

出力結果は、AreaofTrapezoid1.javaと同じです。

それでは、このソースコードを上から順番に解説していきます。

001:    import java.util.Scanner;

Javaのクラスライブラリの中から「java.util.Scanner」というパッケージにあるクラスを、このプログラム内で使うために記述します。 この記述により、Scannerクラスが利用できるようになります。これでキーボードから値の入力が行えるようになります。

003:    public class AreaofTrapezoid2 {

クラス名を、AreaofTrapezoid2としています。

004:    	// 台形の面積を求めるメソッド
005:    	// upperbase : 上底
006:    	// lowerbase : 下底
007:    	// height : 高さ
008:    	public static double calc_AreaofTrapezoid( double upperbase,
009:    					double lowerbase, double height )
010:    	{
011:    		double area;
012:    
013:    		// (上底+下底)×高さ÷2
014:    		area = ( upperbase + lowerbase ) * height / 2.0;
015:    
016:    		return area;
017:    	}

引数とした与えられた上底(upperbase)と下底(basebase)と高さ(height)で台形の面積を計算して戻すメソッドです。

020:    	// メイン
021:    	public static void main( String[] args ) {

このmainメソッドからプログラムを実行します。

022:    		double upperbase;	// 上底
023:    		double lowerbase;	// 下底
024:    		double height;		// 高さ
025:    		double area;		// 面積

このプログラムで使う変数を宣言しています。

027:    		// キーボード入力
028:    		Scanner scanner = new Scanner(System.in);

Scannerクラスを作成しています。

030:    		// 上底の入力
031:    	        System.out.print( "上底:" );
032:    		upperbase = scanner.nextDouble();

キーボードから入力した上底の値をdouble型変数upperbaseに代入します。入力した値が数値で無い場合、エラーを表示してプログラムを強制終了します。

034:    		// 下底の入力
035:    	        System.out.print( "下底:" );
036:    		lowerbase = scanner.nextDouble();

キーボードから入力した下底の値をdouble型変数lowerbaseに代入します。入力した値が数値で無い場合、エラーを表示してプログラムを強制終了します。

038:    		// 高さの入力
039:    	        System.out.print( "高さ:" );
040:    		height = scanner.nextDouble();

キーボードから入力した高さの値をdouble型変数heightに代入します。入力した値が数値で無い場合、エラーを表示してプログラムを強制終了します。

042:    		// メソッドを呼んで台形の面積計算
043:    		area = calc_AreaofTrapezoid( upperbase, lowerbase, height );

台形の面積計算した値をdouble型変数areaに代入しています。

045:    		// 台形の面積を表示
046:    		System.out.println( "台形の面積:" + area );

台形の面積計算を表示しています。

■関連コンテンツ

面積 面積とは?
三角形の面積(ヘロンの公式) 三角形の3辺の長さを使って面積を計算する方法を解説
値のコンソール表示 print()、println()とは?
return文 メソッドの戻り値
円の半径と円周率を使って面積を計算する方法を解説-画像

円の面積計算

半径を与えて円の面積を計算するプログラムを解説します。円の面積は、半径×半径×円周率でで計算できます。

三角形の底辺と高さを使って面積を計算する方法を解説-画像

三角形の面積計算

底辺と高さを与えて、三角形の面積を計算する方法を解説します。三角形の面積は、(底辺×高さ)÷2で計算できます。

平行四辺形の底辺と高さを使って面積を計算する方法を解説-画像

平行四辺形の面積計算

平行四辺形の底辺と高さを使って面積を計算する方法を解説

正三角形の面積を計算する方法を解説-画像

正三角形の面積計算

1辺の長さを与えて、正三角形の面積を計算する方法を解説します。

ヘロンの公式を使って正三角形の面積の公式を導く-画像

正三角形の面積計算 その2

1辺の長さを与えて、正三角形の面積を計算する方法を解説します。面積計算にはヘロンの公式を使っています。

四則演算(足し算/引き算/掛け算/割り算)について-画像

計算結果の表示

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

■新着情報

2021.06.18 変数の初期値 変数に値を代入しないで計算
2021.05.28 短針と長針の角度 短針と長針の角度は?
2021.05.19 各位(くらい)を求める 1の位の値は?10の位は?

■広告

 

 

 

 

 

 

 

 

 

Topへ