2022.09.24
Javaプログラミング
三角関数表の作成 その3
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 ++ ) {
006
double rad = Math.toRadians( (double)deg );
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();
改行しています。
以上です。