2022.09.24

Javaプログラミング

三角関数表の作成 その2

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

Javaソースコード

TriFuncTable2.java

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

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

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

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

実行結果

実行

C:\talavax\javasample>java TriFuncTable2

出力結果

 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 --------

Javaソースコードの解説

001
public class TriFuncTable2 {

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

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

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

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

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

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

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

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

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

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

011
012
013
014
015
			// tanを出力
			if ( 90 == deg )
				System.out.print( " --------" );
			else
				System.out.printf( "%9.5f", Math.tan( rad ) );

tan90°は解が無いので、変数degが90の場合に" --------"を出力しています。

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

017
018
			// 改行
			System.out.println();

改行しています。

次のコンテンツ

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

2019.09.24

前のコンテンツ

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

2019.09.24

関連するコンテンツ

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)の表を作成する方法をソースコードを使って詳しく解説しています。

2019.09.24

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

2019.09.24

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

2020.03.23

広告