2022.09.24

Javaプログラミング

三角関数表の作成 その2

角度0°から90°のサイン(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
            :
88 0.99939 0.03490 28.63625
89 0.99985 0.01745 57.28996
90 1.00000 0.00000 --------

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();
		}
	}
}

実行結果

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

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

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

C:\talavax\javasample>javac TriFuncTable2.java

実行

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代入しています。

Math.toRadiansメソッド

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

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

  戻り値    ラジアン
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桁を半角スペース付の右詰で出力します。

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 )
				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桁にしています。

Math.tanメソッド

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

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

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

改行しています。

以上です。

次のコンテンツ

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

2022.09.24

前のコンテンツ

0から90°のsin(x)、sin(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から359°の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

Javaのプログラムを作ってみませんか?プログラミングに必要なものの用意から実行までを説明しています。

2020.03.23

Swingパッケージを使ってグラフィック表示を行う方法を解説しています。

2020.03.23

画像フォーマット形式・色・大きさ・傾きなどの変更、特定の図形(文字・記号など)を見つけたり、取り出したりする画像処理について詳しく解説。

2015.11.29

繰り返し処理を使ったJavaのソースコードサンプルを紹介しています。

2020.03.23

配列を使うJavaソースコードを多数紹介しています。

2021.05.18

三角形、台形、円などいろいろな図形の面積を計算するプログラムを紹介しています。詳しくは、記事をご覧ください。

2021.05.18

StringクラスとStringBuilderクラスを利用したプログラミングの仕方を紹介しています。

2016.12.16

Javaを使った簡単な応用プログラム(生年月日から年齢を計算プログラムなど)を紹介しています。

2022.07.07

プログラミング、ITに関する用語をまとめています。

2022.10.17

日本で使われてきた伝統文様「和柄」について解説しています。

2022.07.27

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

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

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

2021.02.02

「ゆるゆるプログラム」のコンテンツを紹介しています。興味のある方はこの記事をご覧ください。

2020.03.23

広告