2023.04.10
Javaプログラミング
キーボード入力した角度のsin、cosを計算
Scannerクラスで入力された角度をdouble型の変数に代入し、その値をラジアンに変換します。このラジアンを使ってsinとcosを計算してます。
ソースコードを簡単にするために、キーボードで入力した値にエラーがあるかを判定する処理は入れていません。そのため、数値以外の値を入力するとプログラムが強制終了します。
実行例
角度(度)を入力してください 30
出力結果
入力した角度は、30.0度 sinの計算値は、0.49999999999999994 cosの計算値は、0.8660254037844387
Javaソースコード
キーボードで入力された度単位の角度をラジアンに変換し、そのラジアンを使ってsinとcosを計算するJavaのソースコードです。
このソースでは、キーボード入力された値が数値であるかどうかの判定は行っていません。
Scantodbl1_SinCos.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028
import java.util.Scanner; public class Scantodbl1_SinCos { public static void main( String[] args ) { // メッセージを表示 System.out.println( "角度(度)を入力してください" ); // Scannerを作成 Scanner scan = new Scanner( System.in ); // 入力された値をdouble型の値に変換して変数に代入 double deg = scan.nextDouble(); // 度単位の角度degをラジアンradに変換 double rad = deg * Math.PI / 180.0; // sin(rad)の計算 double s = Math.sin( rad ); // cos(rad)の計算 double c = Math.cos( rad ); // 値をコンソール出力 System.out.println( "入力した角度は、" + deg + "度" ); System.out.println( "sinの計算値は、" + s ); System.out.println( "cosの計算値は、" + c ); } }
実行結果
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis Scantodbl1_SinCos.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac Scantodbl1_SinCos
実行例
C:\talavax\javasample>java Scantodbl1_SinCos 角度(度)を入力してください 45
出力結果
入力した角度は、45.0度 sinの計算値は、0.7071067811865475 cosの計算値は、0.7071067811865476
Javaソースコードの解説
001
import java.util.Scanner;
003
public class Scantodbl1_SinCos {
クラス名を、Scantodbl1_SinCosとしています。
004
public static void main( String[] args ) {
このmainメソッドからプログラムを実行します。
005 006
// メッセージを表示 System.out.println( "角度(度)を入力してください" );
printlnメソッドで、メッセージ”角度(度)を入力してください”をコンソール出力しています。
008 009
// Scannerを作成
Scanner scan = new Scanner( System.in );
標準入力System.inを使って、Scannerクラスのscanを初期化しています。
011 012
// 入力された値をdouble型の値に変換して変数に代入 double deg = scan.nextDouble();
nextDoubleメソッドで、キーボードから入力された1行を読み取り、その値をdouble型の変数degに代入しています。
ここで、入力待ち状態になり、Enterキーが押されるまでに入力した値が変数degに格納されます。
キーボードの"Ctrl"キーを押しながら"C"を押すと強制終了します。
014 015
// 度単位の角度degをラジアンradに変換 double rad = deg * Math.PI / 180.0;
Math.PI定数
public static double Math.PI
・円周率πの値 3.141592...
017 018
// sin(rad)の計算 double s = Math.sin( rad );
Math.sinメソッドを使ってsin(rad)を計算し、double型の変数sに代入しています。
Math.sinメソッド
public static double Math.sin( double a )
・引数aで指定した角度の正弦 (サイン) を返します。 パラメータ a : ラジアンで指定した角度。 戻り値 aの正弦
020 021
// cos(rad)の計算 double c = Math.cos( rad );
Math.cosメソッドを使ってcos(rad)を計算し、double型の変数cに代入しています。
Math.cosメソッド
public static double Math.cos( double a )
・引数aで指定した角度の余弦 (コサイン) を返します。 パラメータ a : ラジアンで指定した角度。 戻り値 aの余弦
023 024 025 026
// 値をコンソール出力 System.out.println( "入力した角度は、" + deg + "度" ); System.out.println( "sinの計算値は、" + s ); System.out.println( "cosの計算値は、" + c );
変数value2の値をprintlnメソッドでコンソール出力しています。
以上です。