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

2019/09/13 公開

・長さの単位変換

ここでは、いくつかの長さの単位を相互に変換するクラスを作成しました。

このクラスでは、キロメートル(km)、メートル(m)、センチメートル(cm)、ミリメートル(mm)、インチ(inch)、フィート(feet)、ヤード(yard)、マイル(mile)の単位変換を行うことができます。

以下は、それぞれの長さの単位の関係を示したものです。

  1キロメートル(km) = 1,000メートル(m)

  1メートル(m) = 100センチメートル(cm) = 1000ミリメートル(mm)

  1インチ(inch) = 25.4ミリメートル(mm) = 2.54センチメートル(cm)

  1フィート(feet) = 12インチ(inch) = 304.8ミリメートル(mm)

  1ヤード(yd) = 3フィート(feet) = 0.9144メートル(m)

  1マイル(mile) = 1760ヤード(yd) = 1609.344メートル(m)

この関係をJavaソースコードにしました。

LengthConverter.java ← クリックしてダウンロードページに移動
001:    // 長さの単位の変換
002:    class ConvertingLengthUnits {
003:    	// ミリメートル(mm)をセンチメートル(cm)に変換
004:    	static double mm_to_cm( double mm )
005:    	{
006:    		return mm / 10.0;
007:    	}
008:    
009:    	// センチメートル(cm)をミリメートル(mm)に変換
010:    	static double cm_to_mm( double cm )
011:    	{
012:    		return cm * 10.0;
013:    	}
014:    
015:    
016:    	// ミリメートル(mm)をメートル(m)に変換
017:    	static double mm_to_m( double mm )
018:    	{
019:    		return mm / 1000.0;
020:    	}
021:    
022:    	// メートル(m)をミリメートル(mm)に変換
023:    	static double m_to_mm( double m )
024:    	{
025:    		return m * 1000.0;
026:    	}
027:    
028:    
029:    	// センチメートル(cm)をメートル(m)に変換
030:    	static double cm_to_m( double cm )
031:    	{
032:    		return cm / 100.0;
033:    	}
034:    
035:    	// メートル(m)をセンチメートル(cm)に変換
036:    	static double m_to_cm( double m )
037:    	{
038:    		return m * 100.0;
039:    	}
040:    
041:    
042:    	// メートル(m)をキロメートル(km)に変換
043:    	static double m_to_km( double m )
044:    	{
045:    		return m / 1000.0;
046:    	}
047:    
048:    	// キロメートル(km)をメートル(m)に変換
049:    	static double km_to_m( double km )
050:    	{
051:    		return km * 1000.0;
052:    	}
053:    
054:    
055:    	// ミリメートル(mm)をインチ(inch)に変換
056:    	static double mm_to_inch( double mm )
057:    	{
058:    		return mm / 25.4;
059:    	}
060:    
061:    	// インチ(inch)をミリメートル(mm)に変換
062:    	static double inch_to_mm( double inch )
063:    	{
064:    		return inch * 25.4;
065:    	}
066:    
067:    
068:    	// インチ(inch)をフィート(feet)に変換
069:    	static double inch_to_feet( double inch )
070:    	{
071:    		return inch / 12.0;
072:    	}
073:    
074:    	// フィート(feet)をインチ(inch)に変換
075:    	static double feet_to_inch( double feet )
076:    	{
077:    		return feet * 12.0;
078:    	}
079:    
080:    
081:    	// フィート(feet)をヤード(yard)に変換
082:    	static double feet_to_yd( double feet )
083:    	{
084:    		return feet / 3.0;
085:    	}
086:    
087:    	// ヤード(yard)をフィート(feet)に変換
088:    	static double yd_to_feet( double yd )
089:    	{
090:    		return yd * 3.0;
091:    	}
092:    
093:    
094:    	// ヤード(yard)をマイル(mile)に変換
095:    	static double yd_to_mile( double yd )
096:    	{
097:    		return yd / 1760.0;
098:    	}
099:    
100:    	// マイル(mile)をヤード(yard)に変換
101:    	static double mile_to_yd( double mile )
102:    	{
103:    		return mile * 1760.0;
104:    	}
105:    
106:    
107:    	// フィート(feet)をミリメートル(mm)に変換
108:    	static double feet_to_mm( double feet )
109:    	{
110:    		double inch;
111:    
112:    		inch = feet_to_inch( feet );
113:    		return inch_to_mm( inch );
114:    	}
115:    
116:    
117:    	// ヤード(yard)をミリメートル(mm)に変換
118:    	static double yd_to_mm( double yard )
119:    	{
120:    		double feet;
121:    
122:    		feet = yd_to_feet( yard );
123:    		return feet_to_mm( feet );
124:    	}
125:    
126:    
127:    	// マイル(mile)をミリメートル(mm)に変換
128:    	static double mile_to_mm( double mile )
129:    	{
130:    		double yard;
131:    
132:    		yard = mile_to_yd( mile );
133:    		return yd_to_mm( yard );
134:    	}
135:    
136:    
137:    	// フィート(feet)をメートル(m)に変換
138:    	static double feet_to_m( double feet )
139:    	{
140:    		double inch, mm;
141:    
142:    		inch = feet_to_inch( feet );
143:    		mm =inch_to_mm( inch );
144:    		return mm_to_m( mm );
145:    	}
146:    
147:    
148:    	// ヤード(yard)をメートル(m)に変換
149:    	static double yd_to_m( double yard )
150:    	{
151:    		double feet;
152:    
153:    		feet = yd_to_feet( yard );
154:    		return feet_to_m( feet );
155:    	}
156:    
157:    
158:    	// マイル(mile)をメートル(m)に変換
159:    	static double mile_to_m( double mile )
160:    	{
161:    		double yard;
162:    
163:    		yard = mile_to_yd( mile );
164:    		return yd_to_m( yard );
165:    	}
166:    }
167:    
168:    
169:    // メイン
170:    public class LengthConverter {
171:    	public static void main( String[] args ) {
172:    		double m;	// メートル
173:    		double mm;	// ミリメートル
174:    		double yard;	// ヤード
175:    		double feet;	// フィート
176:    		double inch;	// インチ
177:    
178:    		// 1センチメートル → ミリメートル
179:    		mm = ConvertingLengthUnits.cm_to_mm( 1.0 );
180:    		System.out.println( "1センチメートルは、" + mm + "ミリメートル" );
181:    
182:    		// 1インチ → ミリメートル
183:    		mm = ConvertingLengthUnits.inch_to_mm( 1.0 );
184:    		System.out.println( "1インチは、" + mm + "ミリメートル" );
185:    
186:    		// 1フィート → ミリメートル
187:    		mm = ConvertingLengthUnits.feet_to_mm( 1.0 );
188:    		System.out.println( "1フィートは、" + mm + "ミリメートル" );
189:    
190:    		// 1キロメートル → メートル
191:    		m = ConvertingLengthUnits.km_to_m( 1.0 );
192:    		System.out.println( "1キロメートルは、" + m + "メートル" );
193:    
194:    		// 1ヤード → メートル
195:    		m = ConvertingLengthUnits.yd_to_m( 1.0 );
196:    		System.out.println( "1ヤードは、" + m + "メートル" );
197:    
198:    		// 1マイル → メートル
199:    		m = ConvertingLengthUnits.mile_to_m( 1.0 );
200:    		System.out.println( "1マイルは、" + m + "メートル" );
201:    
202:    		// 1マイル → インチ
203:    		yard = ConvertingLengthUnits.mile_to_yd( 1.0 );
204:    		feet = ConvertingLengthUnits.yd_to_feet( yard );
205:    		inch = ConvertingLengthUnits.feet_to_inch( feet );
206:    		System.out.println( "1マイルは、" + inch + "インチ" );
207:    	}
208:    }

LengthConverter.javaの出力結果

1センチメートルは、10.0ミリメートル
1インチは、25.4ミリメートル
1フィートは、304.79999999999995ミリメートル
1キロメートルは、1000.0メートル
1ヤードは、0.9144メートル
1マイルは、1609.344メートル
1マイルは、63360.0インチ

それでは、単位変換のプログラムのソースコードを解説していきます。

001:    // 長さの単位の変換
002:    class ConvertingLengthUnits {

長さの単位を変換するクラス名を、ConvertingLengthUnitsとしています。

003:    	// ミリメートル(mm)をセンチメートル(cm)に変換
004:    	static double mm_to_cm( double mm )
005:    	{
006:    		return mm / 10.0;
007:    	}
008:    
009:    	// センチメートル(cm)をミリメートル(mm)に変換
010:    	static double cm_to_mm( double cm )
011:    	{
012:    		return cm * 10.0;
013:    	}

ミリメートル(mm)とセンチメートル(cm)を相互に変換するメソッドです。

  1センチメートル(cm) = 10ミリメートル(mm)の関係を利用しています。

016:    	// ミリメートル(mm)をメートル(m)に変換
017:    	static double mm_to_m( double mm )
018:    	{
019:    		return mm / 1000.0;
020:    	}
021:    
022:    	// メートル(m)をミリメートル(mm)に変換
023:    	static double m_to_mm( double m )
024:    	{
025:    		return m * 1000.0;
026:    	}

ミリメートル(mm)とメートル(m)を相互に変換するメソッドです。

  1メートル(m) = 1000ミリメートル(mm)の関係を利用しています。

029:    	// センチメートル(cm)をメートル(m)に変換
030:    	static double cm_to_m( double cm )
031:    	{
032:    		return cm / 100.0;
033:    	}
034:    
035:    	// メートル(m)をセンチメートル(cm)に変換
036:    	static double m_to_cm( double m )
037:    	{
038:    		return m * 100.0;
039:    	}

センチメートル(cm)とメートル(m)を相互に変換するメソッドです。

  1メートル(m) = 100センチメートル(cm)の関係を利用しています。

042:    	// メートル(m)をキロメートル(km)に変換
043:    	static double m_to_km( double m )
044:    	{
045:    		return m / 1000.0;
046:    	}
047:    
048:    	// キロメートル(km)をメートル(m)に変換
049:    	static double km_to_m( double km )
050:    	{
051:    		return km * 1000.0;
052:    	}

キロメートル(km)とメートル(m)を相互に変換するメソッドです。

  1キロメートル(km) = 1000メートル(m)の関係を利用しています。

055:    	// ミリメートル(mm)をインチ(inch)に変換
056:    	static double mm_to_inch( double mm )
057:    	{
058:    		return mm / 25.4;
059:    	}
060:    
061:    	// インチ(inch)をミリメートル(mm)に変換
062:    	static double inch_to_mm( double inch )
063:    	{
064:    		return inch * 25.4;
065:    	}

インチ(inch)とミリメートル(mm)を相互に変換するメソッドです。

  1インチ(inch) = 25.4ミリメートル(mm)の関係を利用しています。

068:    	// インチ(inch)をフィート(feet)に変換
069:    	static double inch_to_feet( double inch )
070:    	{
071:    		return inch / 12.0;
072:    	}
073:    
074:    	// フィート(feet)をインチ(inch)に変換
075:    	static double feet_to_inch( double feet )
076:    	{
077:    		return feet * 12.0;
078:    	}

インチ(inch)とフィート(feet)を相互に変換するメソッドです。

  1フィート(feet) = 12インチ(inch)の関係を利用しています。

081:    	// フィート(feet)をヤード(yard)に変換
082:    	static double feet_to_yd( double feet )
083:    	{
084:    		return feet / 3.0;
085:    	}
086:    
087:    	// ヤード(yard)をフィート(feet)に変換
088:    	static double yd_to_feet( double yd )
089:    	{
090:    		return yd * 3.0;
091:    	}

フィート(feet)とヤード(yd)を相互に変換するメソッドです。

  1ヤード(yd) = 3フィート(feet)の関係を利用しています。

094:    	// ヤード(yard)をマイル(mile)に変換
095:    	static double yd_to_mile( double yd )
096:    	{
097:    		return yd / 1760.0;
098:    	}
099:    
100:    	// マイル(mile)をヤード(yard)に変換
101:    	static double mile_to_yd( double mile )
102:    	{
103:    		return mile * 1760.0;
104:    	}

ヤード(yd)とマイル(mile)を相互に変換するメソッドです。

  1マイル(mile) = 1760ヤード(yd)の関係を利用しています。

107:    	// フィート(feet)をミリメートル(mm)に変換
108:    	static double feet_to_mm( double feet )
109:    	{
110:    		double inch;
111:    
112:    		inch = feet_to_inch( feet );
113:    		return inch_to_mm( inch );
114:    	}

フィート(feet)をミリメートル(mm)に変換するメソッドです。

ここでは、feet_to_inchメソッドでフィートをインチに変換し、そのインチをinch_to_mmメソッドでミリメートルに変換しています。

117:    	// ヤード(yard)をミリメートル(mm)に変換
118:    	static double yd_to_mm( double yard )
119:    	{
120:    		double feet;
121:    
122:    		feet = yd_to_feet( yard );
123:    		return feet_to_mm( feet );
124:    	}

ヤード(yd)をミリメートル(mm)に変換するメソッドです。

ここでは、yd_to_feetメソッドでヤードをフィートに変換し、そのフィートをfeet_to_mmメソッドでミリメートルに変換しています。

127:    	// マイル(mile)をミリメートル(mm)に変換
128:    	static double mile_to_mm( double mile )
129:    	{
130:    		double yard;
131:    
132:    		yard = mile_to_yd( mile );
133:    		return yd_to_mm( yard );
134:    	}

マイル(mile)をミリメートル(mm)に変換するメソッドです。

ここでは、mile_to_ydメソッドでマイルをヤードに変換し、そのヤードをyd_to_mmメソッドでミリメートルに変換しています。

137:    	// フィート(feet)をメートル(m)に変換
138:    	static double feet_to_m( double feet )
139:    	{
140:    		double inch, mm;
141:    
142:    		inch = feet_to_inch( feet );
143:    		mm =inch_to_mm( inch );
144:    		return mm_to_m( mm );
145:    	}

フィート(feet)をメートル(m)に変換するメソッドです。

ここでは、feet_to_inchメソッドでフィートをインチに変換し、そのインチをinch_to_mmメソッドでミリメートルに変換しています。さらに、mm_to_mメソッドでメートルに変換しています。

148:    	// ヤード(yard)をメートル(m)に変換
149:    	static double yd_to_m( double yard )
150:    	{
151:    		double feet;
152:    
153:    		feet = yd_to_feet( yard );
154:    		return feet_to_m( feet );
155:    	}

ヤード(yd)をメートル(m)に変換するメソッドです。

ここでは、yd_to_feetメソッドでヤードをフィートに変換し、そのフィートをfeet_to_mメソッドでメートルに変換しています。

158:    	// マイル(mile)をメートル(m)に変換
159:    	static double mile_to_m( double mile )
160:    	{
161:    		double yard;
162:    
163:    		yard = mile_to_yd( mile );
164:    		return yd_to_m( yard );
165:    	}

マイル(mile)をメートル(m)に変換するメソッドです。

ここでは、mile_to_ydメソッドでマイルをヤードに変換し、そのヤードをyd_to_mメソッドでメートルに変換しています。

ここまでが、長さの単位を変換するクラスConvertingLengthUnitsの説明です。

全ての相互変換をこのクラスに入れるとメソッド数が多くなるので、基本的な変換メソッドを記述しています。

次に、クラスConvertingLengthUnitsを使うソースコードの説明です。

169:    // メイン
170:    public class LengthConverter {
171:    	public static void main( String[] args ) {
172:    		double m;	// メートル
173:    		double mm;	// ミリメートル
174:    		double yard;	// ヤード
175:    		double feet;	// フィート
176:    		double inch;	// インチ
177:    
178:    		// 1センチメートル → ミリメートル
179:    		mm = ConvertingLengthUnits.cm_to_mm( 1.0 );
180:    		System.out.println( "1センチメートルは、" + mm + "ミリメートル" );
181:    
182:    		// 1インチ → ミリメートル
183:    		mm = ConvertingLengthUnits.inch_to_mm( 1.0 );
184:    		System.out.println( "1インチは、" + mm + "ミリメートル" );
185:    
186:    		// 1フィート → ミリメートル
187:    		mm = ConvertingLengthUnits.feet_to_mm( 1.0 );
188:    		System.out.println( "1フィートは、" + mm + "ミリメートル" );
189:    
190:    		// 1キロメートル → メートル
191:    		m = ConvertingLengthUnits.km_to_m( 1.0 );
192:    		System.out.println( "1キロメートルは、" + m + "メートル" );
193:    
194:    		// 1ヤード → メートル
195:    		m = ConvertingLengthUnits.yd_to_m( 1.0 );
196:    		System.out.println( "1ヤードは、" + m + "メートル" );
197:    
198:    		// 1マイル → メートル
199:    		m = ConvertingLengthUnits.mile_to_m( 1.0 );
200:    		System.out.println( "1マイルは、" + m + "メートル" );
201:    
202:    		// 1マイル → インチ
203:    		yard = ConvertingLengthUnits.mile_to_yd( 1.0 );
204:    		feet = ConvertingLengthUnits.yd_to_feet( yard );
205:    		inch = ConvertingLengthUnits.feet_to_inch( feet );
206:    		System.out.println( "1マイルは、" + inch + "インチ" );
207:    	}
208:    }

ここでは、各メソッドに値を入れてその結果を表示しています。

長さの単位は、

  ConvertingLengthUnits.メソッド( 変換前の長さ )

で変換することができます。

変換メソッドstaticであるため、クラスをインスタンス化せずに使用することができます。

■関連コンテンツ

ITで使われる単位 ITで使われる単位を紹介
計算結果の表示 四則演算(足し算/引き算/掛け算/割り算)について
プログラムの構成 Javaのプログラム構成について解説

■新着情報

2022.07.07 外部プログラムの実行 exeファイル実行
2022.07.06 完全数 6=1+2+3

■広告

 

 

 

 

 

スッキリわかるJava入門第3版 [ 中山清喬 ]

価格:2,860円
(2021/6/18 14:32時点)
感想(6件)

 

 

 

 

Topへ