2023.04.10

Javaプログラミング

キーボード入力した角度のsin、cosを計算

キーボードで入力された実数の角度からsin(サイン)、cos(コサイン)を計算し、コンソール出力する方法を解説します。

Scannerクラスで入力された角度double型変数に代入し、その値をラジアンに変換します。このラジアンを使ってsincosを計算してます。

ソースコードを簡単にするために、キーボードで入力した値にエラーがあるかを判定する処理は入れていません。そのため、数値以外の値を入力するとプログラムが強制終了します。

以下は、角度30°のsincosを計算する例です。

実行例

角度(度)を入力してください
30

出力結果

入力した角度は、30.0度
sinの計算値は、0.49999999999999994
cosの計算値は、0.8660254037844387

Javaソースコード

キーボードで入力された度単位の角度ラジアンに変換し、そのラジアンを使ってsincosを計算する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

入力した角度45°の、sincosコンソール出力されます。

Javaソースコードの解説

001
import java.util.Scanner;

Javaクラスライブラリの中から「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; 

角度degをラジアンに変換し、double型変数radに代入しています。

ラジアンの計算式は、ラジアン角度×π/180です。

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メソッドコンソール出力しています。

以上です。

キーボード入力に関するコンテンツ

キーボードを使って値を入力する方法を解説しています。ソースコード付きです。

2020.08.19

キーボードを使って整数値を入力する方法を解説しています。Scannerクラスを利用しています。

2023.03.08

キーボードを使って整数値を2つ入力る方法を解説しています。Scannerクラスを利用しています。

2023.03.16

キーボードを使って入力した整数値を2乗する方法を解説しています。

2023.03.10

キーボードを使って入力した整数値の絶対値を求める方法を解説しています。

2023.03.10

キーボードを使って実数値(double)を入力する方法を解説しています。Scannerクラスを利用しています。

2023.03.09

キーボードを使って実数値(double)を2つ入力する方法を解説しています。Scannerクラスを利用しています。

2023.03.16

キーボードで入力した整数値を配列に格納するメソッドの作り方を解説しています。

2020.08.19

関連コンテンツ

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

2022.09.10

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

2020.03.23

コンピュータを制御するために使用する入力機能と出力機能を持つ装置のことをコンソールといいます。興味のある方は、ご覧ください。

2020.08.24

Integerクラスについて、ソースコードを使って詳しく説明しています。

2020.03.23

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

2022.12.13

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

2020.03.23

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

2020.03.23

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

2020.03.23

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

2020.03.23

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

2020.03.23

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

2016.01.26

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

2020.03.23

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

2022.08.03

キーボードを使って値を入力する方法を解説しています。ソースコード付きです。

2020.08.19

キーボードを使って実数値(double)を入力する方法を解説しています。Scannerクラスを利用しています。

2023.03.09

円周率、πってどうゆう意味?

2020.03.23

広告