2022.09.24

Javaプログラミング

三角関数表の作成 その3

角度0°から359°のサイン(sin)、コサイン(cos)、タンジェント(tan)の表を作成するJavaソースコードを紹介します。

  0  0.00000  1.00000   0.00000
  1  0.01745  0.99985   0.01746
  2  0.03490  0.99939   0.03492
  3  0.05234  0.99863   0.05241
  4  0.06976  0.99756   0.06993
  5  0.08716  0.99619   0.08749
  6  0.10453  0.99452   0.10510
  7  0.12187  0.99255   0.12278
                :
357 -0.05234  0.99863  -0.05241
358 -0.03490  0.99939  -0.03492
359 -0.01745  0.99985  -0.01746

Javaソースコード

TriFuncTable3.java

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
public class TriFuncTable3 {
	public static void main( String[] args ) {
		// 0~359度のsin、cos、tanを出力
		for ( int deg = 0; deg <= 359; deg ++ ) {
			// 角度degをラジアンradに変換
			double rad = Math.toRadians(  (double)deg );

			// 角度とsinとcosを出力
			System.out.printf( "%3d%9.5f%9.5f", deg, Math.sin( rad  ), Math.cos( rad  ) );

			// tanを出力
			if ( 90 == ( deg % 180 ) )
				System.out.print( " ---------" );
			else
				System.out.printf( "%10.5f", Math.tan( rad ) );

			// 改行
			System.out.println();
		}
	}
}

実行結果

コンパイル ソースコードが「ANSI」の場合

C:\talavax\javasample>javac -encoding sjis TriFuncTable3.java

コンパイル ソースコードが「UTF-8」の場合

C:\talavax\javasample>javac TriFuncTable3.java

実行

C:\talavax\javasample>java TriFuncTable3

出力結果

  0  0.00000  1.00000   0.00000
  1  0.01745  0.99985   0.01746
  2  0.03490  0.99939   0.03492
  3  0.05234  0.99863   0.05241
  4  0.06976  0.99756   0.06993
  5  0.08716  0.99619   0.08749
  6  0.10453  0.99452   0.10510
  7  0.12187  0.99255   0.12278
  8  0.13917  0.99027   0.14054
  9  0.15643  0.98769   0.15838
 10  0.17365  0.98481   0.17633
 11  0.19081  0.98163   0.19438
 12  0.20791  0.97815   0.21256
 13  0.22495  0.97437   0.23087
 14  0.24192  0.97030   0.24933
 15  0.25882  0.96593   0.26795
 16  0.27564  0.96126   0.28675
 17  0.29237  0.95630   0.30573
 18  0.30902  0.95106   0.32492
 19  0.32557  0.94552   0.34433
 20  0.34202  0.93969   0.36397
 21  0.35837  0.93358   0.38386
 22  0.37461  0.92718   0.40403
 23  0.39073  0.92050   0.42447
 24  0.40674  0.91355   0.44523
 25  0.42262  0.90631   0.46631
 26  0.43837  0.89879   0.48773
 27  0.45399  0.89101   0.50953
 28  0.46947  0.88295   0.53171
 29  0.48481  0.87462   0.55431
 30  0.50000  0.86603   0.57735
 31  0.51504  0.85717   0.60086
 32  0.52992  0.84805   0.62487
 33  0.54464  0.83867   0.64941
 34  0.55919  0.82904   0.67451
 35  0.57358  0.81915   0.70021
 36  0.58779  0.80902   0.72654
 37  0.60182  0.79864   0.75355
 38  0.61566  0.78801   0.78129
 39  0.62932  0.77715   0.80978
 40  0.64279  0.76604   0.83910
 41  0.65606  0.75471   0.86929
 42  0.66913  0.74314   0.90040
 43  0.68200  0.73135   0.93252
 44  0.69466  0.71934   0.96569
 45  0.70711  0.70711   1.00000
 46  0.71934  0.69466   1.03553
 47  0.73135  0.68200   1.07237
 48  0.74314  0.66913   1.11061
 49  0.75471  0.65606   1.15037
 50  0.76604  0.64279   1.19175
 51  0.77715  0.62932   1.23490
 52  0.78801  0.61566   1.27994
 53  0.79864  0.60182   1.32704
 54  0.80902  0.58779   1.37638
 55  0.81915  0.57358   1.42815
 56  0.82904  0.55919   1.48256
 57  0.83867  0.54464   1.53986
 58  0.84805  0.52992   1.60033
 59  0.85717  0.51504   1.66428
 60  0.86603  0.50000   1.73205
 61  0.87462  0.48481   1.80405
 62  0.88295  0.46947   1.88073
 63  0.89101  0.45399   1.96261
 64  0.89879  0.43837   2.05030
 65  0.90631  0.42262   2.14451
 66  0.91355  0.40674   2.24604
 67  0.92050  0.39073   2.35585
 68  0.92718  0.37461   2.47509
 69  0.93358  0.35837   2.60509
 70  0.93969  0.34202   2.74748
 71  0.94552  0.32557   2.90421
 72  0.95106  0.30902   3.07768
 73  0.95630  0.29237   3.27085
 74  0.96126  0.27564   3.48741
 75  0.96593  0.25882   3.73205
 76  0.97030  0.24192   4.01078
 77  0.97437  0.22495   4.33148
 78  0.97815  0.20791   4.70463
 79  0.98163  0.19081   5.14455
 80  0.98481  0.17365   5.67128
 81  0.98769  0.15643   6.31375
 82  0.99027  0.13917   7.11537
 83  0.99255  0.12187   8.14435
 84  0.99452  0.10453   9.51436
 85  0.99619  0.08716  11.43005
 86  0.99756  0.06976  14.30067
 87  0.99863  0.05234  19.08114
 88  0.99939  0.03490  28.63625
 89  0.99985  0.01745  57.28996
 90  1.00000  0.00000 ---------
 91  0.99985 -0.01745 -57.28996
 92  0.99939 -0.03490 -28.63625
 93  0.99863 -0.05234 -19.08114
 94  0.99756 -0.06976 -14.30067
 95  0.99619 -0.08716 -11.43005
 96  0.99452 -0.10453  -9.51436
 97  0.99255 -0.12187  -8.14435
 98  0.99027 -0.13917  -7.11537
 99  0.98769 -0.15643  -6.31375
100  0.98481 -0.17365  -5.67128
101  0.98163 -0.19081  -5.14455
102  0.97815 -0.20791  -4.70463
103  0.97437 -0.22495  -4.33148
104  0.97030 -0.24192  -4.01078
105  0.96593 -0.25882  -3.73205
106  0.96126 -0.27564  -3.48741
107  0.95630 -0.29237  -3.27085
108  0.95106 -0.30902  -3.07768
109  0.94552 -0.32557  -2.90421
110  0.93969 -0.34202  -2.74748
111  0.93358 -0.35837  -2.60509
112  0.92718 -0.37461  -2.47509
113  0.92050 -0.39073  -2.35585
114  0.91355 -0.40674  -2.24604
115  0.90631 -0.42262  -2.14451
116  0.89879 -0.43837  -2.05030
117  0.89101 -0.45399  -1.96261
118  0.88295 -0.46947  -1.88073
119  0.87462 -0.48481  -1.80405
120  0.86603 -0.50000  -1.73205
121  0.85717 -0.51504  -1.66428
122  0.84805 -0.52992  -1.60033
123  0.83867 -0.54464  -1.53986
124  0.82904 -0.55919  -1.48256
125  0.81915 -0.57358  -1.42815
126  0.80902 -0.58779  -1.37638
127  0.79864 -0.60182  -1.32704
128  0.78801 -0.61566  -1.27994
129  0.77715 -0.62932  -1.23490
130  0.76604 -0.64279  -1.19175
131  0.75471 -0.65606  -1.15037
132  0.74314 -0.66913  -1.11061
133  0.73135 -0.68200  -1.07237
134  0.71934 -0.69466  -1.03553
135  0.70711 -0.70711  -1.00000
136  0.69466 -0.71934  -0.96569
137  0.68200 -0.73135  -0.93252
138  0.66913 -0.74314  -0.90040
139  0.65606 -0.75471  -0.86929
140  0.64279 -0.76604  -0.83910
141  0.62932 -0.77715  -0.80978
142  0.61566 -0.78801  -0.78129
143  0.60182 -0.79864  -0.75355
144  0.58779 -0.80902  -0.72654
145  0.57358 -0.81915  -0.70021
146  0.55919 -0.82904  -0.67451
147  0.54464 -0.83867  -0.64941
148  0.52992 -0.84805  -0.62487
149  0.51504 -0.85717  -0.60086
150  0.50000 -0.86603  -0.57735
151  0.48481 -0.87462  -0.55431
152  0.46947 -0.88295  -0.53171
153  0.45399 -0.89101  -0.50953
154  0.43837 -0.89879  -0.48773
155  0.42262 -0.90631  -0.46631
156  0.40674 -0.91355  -0.44523
157  0.39073 -0.92050  -0.42447
158  0.37461 -0.92718  -0.40403
159  0.35837 -0.93358  -0.38386
160  0.34202 -0.93969  -0.36397
161  0.32557 -0.94552  -0.34433
162  0.30902 -0.95106  -0.32492
163  0.29237 -0.95630  -0.30573
164  0.27564 -0.96126  -0.28675
165  0.25882 -0.96593  -0.26795
166  0.24192 -0.97030  -0.24933
167  0.22495 -0.97437  -0.23087
168  0.20791 -0.97815  -0.21256
169  0.19081 -0.98163  -0.19438
170  0.17365 -0.98481  -0.17633
171  0.15643 -0.98769  -0.15838
172  0.13917 -0.99027  -0.14054
173  0.12187 -0.99255  -0.12278
174  0.10453 -0.99452  -0.10510
175  0.08716 -0.99619  -0.08749
176  0.06976 -0.99756  -0.06993
177  0.05234 -0.99863  -0.05241
178  0.03490 -0.99939  -0.03492
179  0.01745 -0.99985  -0.01746
180  0.00000 -1.00000  -0.00000
181 -0.01745 -0.99985   0.01746
182 -0.03490 -0.99939   0.03492
183 -0.05234 -0.99863   0.05241
184 -0.06976 -0.99756   0.06993
185 -0.08716 -0.99619   0.08749
186 -0.10453 -0.99452   0.10510
187 -0.12187 -0.99255   0.12278
188 -0.13917 -0.99027   0.14054
189 -0.15643 -0.98769   0.15838
190 -0.17365 -0.98481   0.17633
191 -0.19081 -0.98163   0.19438
192 -0.20791 -0.97815   0.21256
193 -0.22495 -0.97437   0.23087
194 -0.24192 -0.97030   0.24933
195 -0.25882 -0.96593   0.26795
196 -0.27564 -0.96126   0.28675
197 -0.29237 -0.95630   0.30573
198 -0.30902 -0.95106   0.32492
199 -0.32557 -0.94552   0.34433
200 -0.34202 -0.93969   0.36397
201 -0.35837 -0.93358   0.38386
202 -0.37461 -0.92718   0.40403
203 -0.39073 -0.92050   0.42447
204 -0.40674 -0.91355   0.44523
205 -0.42262 -0.90631   0.46631
206 -0.43837 -0.89879   0.48773
207 -0.45399 -0.89101   0.50953
208 -0.46947 -0.88295   0.53171
209 -0.48481 -0.87462   0.55431
210 -0.50000 -0.86603   0.57735
211 -0.51504 -0.85717   0.60086
212 -0.52992 -0.84805   0.62487
213 -0.54464 -0.83867   0.64941
214 -0.55919 -0.82904   0.67451
215 -0.57358 -0.81915   0.70021
216 -0.58779 -0.80902   0.72654
217 -0.60182 -0.79864   0.75355
218 -0.61566 -0.78801   0.78129
219 -0.62932 -0.77715   0.80978
220 -0.64279 -0.76604   0.83910
221 -0.65606 -0.75471   0.86929
222 -0.66913 -0.74314   0.90040
223 -0.68200 -0.73135   0.93252
224 -0.69466 -0.71934   0.96569
225 -0.70711 -0.70711   1.00000
226 -0.71934 -0.69466   1.03553
227 -0.73135 -0.68200   1.07237
228 -0.74314 -0.66913   1.11061
229 -0.75471 -0.65606   1.15037
230 -0.76604 -0.64279   1.19175
231 -0.77715 -0.62932   1.23490
232 -0.78801 -0.61566   1.27994
233 -0.79864 -0.60182   1.32704
234 -0.80902 -0.58779   1.37638
235 -0.81915 -0.57358   1.42815
236 -0.82904 -0.55919   1.48256
237 -0.83867 -0.54464   1.53986
238 -0.84805 -0.52992   1.60033
239 -0.85717 -0.51504   1.66428
240 -0.86603 -0.50000   1.73205
241 -0.87462 -0.48481   1.80405
242 -0.88295 -0.46947   1.88073
243 -0.89101 -0.45399   1.96261
244 -0.89879 -0.43837   2.05030
245 -0.90631 -0.42262   2.14451
246 -0.91355 -0.40674   2.24604
247 -0.92050 -0.39073   2.35585
248 -0.92718 -0.37461   2.47509
249 -0.93358 -0.35837   2.60509
250 -0.93969 -0.34202   2.74748
251 -0.94552 -0.32557   2.90421
252 -0.95106 -0.30902   3.07768
253 -0.95630 -0.29237   3.27085
254 -0.96126 -0.27564   3.48741
255 -0.96593 -0.25882   3.73205
256 -0.97030 -0.24192   4.01078
257 -0.97437 -0.22495   4.33148
258 -0.97815 -0.20791   4.70463
259 -0.98163 -0.19081   5.14455
260 -0.98481 -0.17365   5.67128
261 -0.98769 -0.15643   6.31375
262 -0.99027 -0.13917   7.11537
263 -0.99255 -0.12187   8.14435
264 -0.99452 -0.10453   9.51436
265 -0.99619 -0.08716  11.43005
266 -0.99756 -0.06976  14.30067
267 -0.99863 -0.05234  19.08114
268 -0.99939 -0.03490  28.63625
269 -0.99985 -0.01745  57.28996
270 -1.00000 -0.00000 ---------
271 -0.99985  0.01745 -57.28996
272 -0.99939  0.03490 -28.63625
273 -0.99863  0.05234 -19.08114
274 -0.99756  0.06976 -14.30067
275 -0.99619  0.08716 -11.43005
276 -0.99452  0.10453  -9.51436
277 -0.99255  0.12187  -8.14435
278 -0.99027  0.13917  -7.11537
279 -0.98769  0.15643  -6.31375
280 -0.98481  0.17365  -5.67128
281 -0.98163  0.19081  -5.14455
282 -0.97815  0.20791  -4.70463
283 -0.97437  0.22495  -4.33148
284 -0.97030  0.24192  -4.01078
285 -0.96593  0.25882  -3.73205
286 -0.96126  0.27564  -3.48741
287 -0.95630  0.29237  -3.27085
288 -0.95106  0.30902  -3.07768
289 -0.94552  0.32557  -2.90421
290 -0.93969  0.34202  -2.74748
291 -0.93358  0.35837  -2.60509
292 -0.92718  0.37461  -2.47509
293 -0.92050  0.39073  -2.35585
294 -0.91355  0.40674  -2.24604
295 -0.90631  0.42262  -2.14451
296 -0.89879  0.43837  -2.05030
297 -0.89101  0.45399  -1.96261
298 -0.88295  0.46947  -1.88073
299 -0.87462  0.48481  -1.80405
300 -0.86603  0.50000  -1.73205
301 -0.85717  0.51504  -1.66428
302 -0.84805  0.52992  -1.60033
303 -0.83867  0.54464  -1.53986
304 -0.82904  0.55919  -1.48256
305 -0.81915  0.57358  -1.42815
306 -0.80902  0.58779  -1.37638
307 -0.79864  0.60182  -1.32704
308 -0.78801  0.61566  -1.27994
309 -0.77715  0.62932  -1.23490
310 -0.76604  0.64279  -1.19175
311 -0.75471  0.65606  -1.15037
312 -0.74314  0.66913  -1.11061
313 -0.73135  0.68200  -1.07237
314 -0.71934  0.69466  -1.03553
315 -0.70711  0.70711  -1.00000
316 -0.69466  0.71934  -0.96569
317 -0.68200  0.73135  -0.93252
318 -0.66913  0.74314  -0.90040
319 -0.65606  0.75471  -0.86929
320 -0.64279  0.76604  -0.83910
321 -0.62932  0.77715  -0.80978
322 -0.61566  0.78801  -0.78129
323 -0.60182  0.79864  -0.75355
324 -0.58779  0.80902  -0.72654
325 -0.57358  0.81915  -0.70021
326 -0.55919  0.82904  -0.67451
327 -0.54464  0.83867  -0.64941
328 -0.52992  0.84805  -0.62487
329 -0.51504  0.85717  -0.60086
330 -0.50000  0.86603  -0.57735
331 -0.48481  0.87462  -0.55431
332 -0.46947  0.88295  -0.53171
333 -0.45399  0.89101  -0.50953
334 -0.43837  0.89879  -0.48773
335 -0.42262  0.90631  -0.46631
336 -0.40674  0.91355  -0.44523
337 -0.39073  0.92050  -0.42447
338 -0.37461  0.92718  -0.40403
339 -0.35837  0.93358  -0.38386
340 -0.34202  0.93969  -0.36397
341 -0.32557  0.94552  -0.34433
342 -0.30902  0.95106  -0.32492
343 -0.29237  0.95630  -0.30573
344 -0.27564  0.96126  -0.28675
345 -0.25882  0.96593  -0.26795
346 -0.24192  0.97030  -0.24933
347 -0.22495  0.97437  -0.23087
348 -0.20791  0.97815  -0.21256
349 -0.19081  0.98163  -0.19438
350 -0.17365  0.98481  -0.17633
351 -0.15643  0.98769  -0.15838
352 -0.13917  0.99027  -0.14054
353 -0.12187  0.99255  -0.12278
354 -0.10453  0.99452  -0.10510
355 -0.08716  0.99619  -0.08749
356 -0.06976  0.99756  -0.06993
357 -0.05234  0.99863  -0.05241
358 -0.03490  0.99939  -0.03492
359 -0.01745  0.99985  -0.01746

Javaソースコードの解説

001
public class TriFuncTable3 {

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

002
	public static void main( String[] args ) {

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

003
004
		// 0~359度のsin、cos、tanを出力
		for ( int deg = 0; deg <= 359; deg ++ ) {

for文int型変数degを0から359まで1ずつ変化させるループを作成しています。

006
			double rad = Math.toRadians(  (double)deg );

角度を表す変数degをラジアンに変換した値を変数rad代入しています。

Math.toRadiansメソッド

public static double Math.toRadians( double a )
・引数aで指定した角度をラジアンに変換した値を返します。

  パラメータ a : 角度(単位:度)[

  戻り値    ラジアン
008
009
			// 角度とsinとcosを出力
			System.out.printf( "%3d%9.5f%9.5f", deg, Math.sin( rad  ), Math.cos( rad  ) );

変数deg、Math.sin( rad )、Math.sin( rad )の値の桁を揃えて出力するために、printfメソッドで書式を指定しています。

書式"%2d%9.5f%9.5f"%2dは「整数を最小桁数2桁」で出力することを表しています。1桁の整数は、半角スペース付の右詰になります。2桁以上の整数は、そのままの桁数で出力されます。%9.5fは「小数を最小桁数9桁、小数部5桁」で出力することを表しています。整数部がプラスで1桁の場合、整数部1桁+小数点'.'+小数部5桁の合計7桁を半角スペース付の右詰で出力します。整数部がマイナスで1桁の場合、'-'と整数部1桁+小数点'.'+小数部5桁の合計8桁を半角スペース付の右詰で出力します。

Math.sinメソッド

public static double Math.sin( double a )
・引数aで指定した角度の正弦 (サイン) を返します。

  パラメータ a : ラジアンで指定した角度。

  戻り値    aの正弦

Math.cosメソッド

public static double Math.cos( double a )
・引数aで指定した角度の余弦 (コサイン) を返します。

  パラメータ a : ラジアンで指定した角度。

  戻り値    aの余弦
011
012
013
014
015
			// tanを出力
			if ( 90 == ( deg % 180 ) )
				System.out.print( " ---------" );
			else
				System.out.printf( "%10.5f", Math.tan( rad ) );

tan90°とtan270°は解が無いので、変数degが90と270の場合に" --------"を出力しています。変数degを180で割った余りが90の場合にタンジェントの解が無いと判定しています。

変数degが90、270でない場合、Math.tan( rad )の値をprintfメソッドで出力しています。書式"%10.5f"は「小数を最小桁数10桁、小数部5桁」で出力することを表しています。タンジェントの場合、整数部が10以上で、マイナス値もあるため、最小桁数を10桁にしています。

Math.tanメソッド

public static double Math.tan( double a )
・引数aで指定した角度の正接 (タンジェント) を返します。

  パラメータ a : ラジアンで指定した角度。

  戻り値    aの正接
017
018
			// 改行
			System.out.println();

改行しています。

以上です。

前のコンテンツ

0から90°のsin(x)、sin(x)、tan(x)の表を作成する方法をソースコードを使って詳しく解説しています。

2022.09.24

関連コンテンツ

Javaの学習に役立つソースコードを多数紹介しています。是非、ご覧ください。

2022.09.10

sin(サイン)の意味と、Math.sinメソッドの使い方をソースコードを使って詳しく解説しています。

2020.03.23

cos(コサイン)の意味と、Math.cosメソッドの使い方をソースコードを使って詳しく解説しています。

2020.03.23

tan(タンジェント)の意味と、Math.tanメソッドの使い方を解説しています。

2020.03.23

平方(二乗)の表を作成するJavaソースコードを紹介。

2022.10.03

0から90°のsin(x)、sin(x)の表を作成する方法をソースコードを使って詳しく解説しています。

2022.09.24

0から90°のsin(x)、sin(x)、tan(x)の表を作成する方法をソースコードを使って詳しく解説しています。

2022.09.24

数学に関係するJavaのメソッドやソースコードなどを紹介しています。

2022.10.25

Swingパッケージを使って数式のグラフを表示する方法を解説します。サイン(sin)カーブを表示するJavaソースコードを紹介しています。

2019.09.14

Swingパッケージを使ってコサイン(cos)のグラフを表示するJavaソースコードを紹介しています。

2019.09.21

Swingパッケージを使ってタンジェント(tan)のグラフを表示するJavaソースコードを紹介しています。

2019.09.21

変数やクラスに格納されている値をフォーマとを指定してコンソール出力する方法は?

2021.08.04

条件式を判断して処理を分岐する方法を詳しく説明しています。

2023.03.20

変数やクラスに格納されている値をコンソール出力する方法は?

2020.03.23

プログラムの最初に実行されるメソッドは?

2022.12.13

プログラミングで使う変数って何?

2020.03.23

Javaのプログラムを書いてみませんか?プログラムの書き方をくわしく説明しています。

2020.03.23

「Javaソースコード」から実行可能な「オブジェクトコード」に変換する方法をくわしく説明しています。

2020.03.23

プログラミング言語とは?種類や特徴について説明しています。

2022.08.03

国際単位系における角度の単位のラジアンについて説明しています。興味のある方は、記事をご覧ください。

2016.01.26

Javaプログラムの構成について解説しています。詳しくは、こちらをご覧ください。

2020.03.23

処理を繰り返すために使用するfor文について解説しています。

2020.03.23

繰り返し処理の作り方を解説しています。

2016.03.02

メソッドの定義方法を詳しく解説しています。Javaのサンプルソースコードを使った説明もあります。

2020.03.23

複数の数値の合計値と平均値を計算するプログラムをJavaのソースコードを使って解説しています。

2020.03.23

自然数と整数って何が違う?

2020.03.23

割り算で割り切れずに残った端数を剰余(余り)といいます。この剰余の計算をJavaのソースコードを使って解説しています。

2020.03.23

文字列の途中で改行する方法って?詳しくは、記事を。

2021.02.02

広告