ji-2. Javaプログラミングにお
ける基本計算と標準ライブラ
リの活用
1
(Java プログラミング入門)
URL: https://www.kkaneko.jp/pro/ji/index.html
金子邦彦
Javaでの四則演算と標準ライブラリ関数を用いた計算プロ
グラムの作成
【学習内容の構成】
1. 変数と代入:データを格納するメモリ領域の宣言と値の
格納
2. 入出力:キーボードからのデータ読み込みと画面への結
果表示
3. 標準ライブラリ:三角関数、指数・対数関数、平方根な
どの数学関数の利用
• 前提:Online GDBの基本操作、浮動小数点数の概念
• 意義:数学的な計算を自在にプログラムで実現する力の習
得
2
オンライン開発環境 Online GDB
• プログラミングを行えるオンラインのサービス
https://www.onlinegdb.com
• ウェブブラウザを使う
• たくさんの言語を扱うことができる
Python3, Java, C/C++, C#, JavaScript,
R, アセンブリ言語,SQL など
• オンラインなので、「秘密にしたいプログラム」
を扱うには十分な注意が必要
3
Online GDB で Java を動かす手順
① ウェブブラウザを起動する
② 次の URL を開く
https://www.onlinegdb.com
4
③ 「Language」のところで,「Java」を選ぶ
5
エディタ画面
実行ボタン
プログラムを
書き換えること
ができる
6
例題1.三角形の面積
• 底辺と高さを読み込んで,面積を計算するプログ
ラムを作る
例) 底辺が 2.5,高さが 5 のとき,
面積: 6.25
• 底辺,高さ,面積を扱うために,浮動小数点数の
変数を3つ使う
7
import java.lang.Math;
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
double teihen, takasa, menseki;
Scanner s = new Scanner(System.in);
System.out.println("Please Enter teihen =");
teihen = s.nextDouble();
System.out.println("Please Enter takasa =");
takasa = s.nextDouble();
menseki = teihen * takasa * 0.5;
System.out.printf("menseki = %8.3f¥n", menseki);
}
}
8
メッセージ表示と
キーボードからの
データの読み込み
画面表示
三角形の面積の式
実行結果画面(例)
9
プログラム実行順
10
System.out.println("Please Enter teihen =");
teihen = s.nextDouble();
menseki = teihen * takasa * 0.5;
System.out.printf("menseki = %8.3f¥n", menseki);
メッセージ「 'Please Enter teihen= 」を表示
浮動小数点数データを読み込み
計算
計算結果を表示
System.out.println("Please Enter takasa =");
takasa = s.nextDouble();
メッセージ「 'Please Enter takasa: 」を表示
浮動小数点数データを読み込み
プログラムとデータ
11
メモリ
takasa
menseki
3つの変数
teihen = s.nextDouble();
teihen
①
浮動小数点数データを読み込み
System.out.printf("menseki = %8.3f¥n", menseki);
④
計算結果を表示
menseki = teihen * takasa * 0.5;
③
計算
takasa = s.nextDouble();
②
浮動小数点数データを読み込み
四則演算のための演算子
+ 和
- 差
* 積
/ 商
12
変数宣言
• 変数は,データを入れるためのメモリ
• 変数宣言とは,変数を使うために,名前と型を書
いて,変数の使用をコンピュータに伝えること
13
型: double 浮動小数点数
変数名: teihen, takasa, menseki (変数は3つ)
代入
• 代入は,計算結果などの値を,変数に格納する
• 「=」は,代入の意味
14
入力
入力は,データをプログラムに読み込む
15
nextDouble: 浮動小数点数の入力を行うメソッド
出力
• 出力では,メッセージの画面表示,データの画
面表示などを行う.
■ System.out.printf による画面表示
■ System.out.println による画面表示
16
メッセージ表示に適する
メッセージとデータの組み合わせ表示に適する
%8.3f: 全体を 8桁,小数点以下 3桁で浮動小数点数を表示
例題3.sin 関数による三角形の面積
三角形の2辺の長さ a, b とその挟角 thetaを読み込
んで,面積 S を計算するプログラムを作る
• 面積を求めるために,sin関数を使う
• 円周率 π = 3.14159 とする
17
sin
2
1
abS =
import java.lang.Math;
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
double a, b, theta, S;
Scanner s = new Scanner(System.in);
System.out.println("Please Enter a =");
a = s.nextDouble();
System.out.println("Please Enter b =");
b = s.nextDouble();
System.out.println("Please Enter theta =");
theta = s.nextDouble();
S = 0.5 * a * b * Math.sin( theta * 3.14159 / 180.0 );
System.out.printf("S = %8.3f¥n", S);
}
}
18
三角形の面積
メッセージ表示と
キーボードからの
データの読み込み
画面表示
実行結果例
19
例題3.標準ライブラリを利用した計算
• 浮動小数点数データ x を読み込んで,次の計算を
行うプログラムを作る
• 指数
• 対数
• 平方根
• 三角関数
• 絶対値
20
import java.lang.Math;
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
double x;
Scanner s = new Scanner(System.in);
System.out.println("Please Enter x =");
x = s.nextDouble();
System.out.printf("exp(%8.3f) = %8.3f¥n", x, Math.exp(x));
System.out.printf("log10(%8.3f) = %8.3f¥n", x, Math.log10(x));
System.out.printf("sqrt(%8.3f) = %8.3f¥n", x, Math.sqrt(x));
System.out.printf("sin(%8.3f) = %8.3f¥n", x, Math.sin(x));
System.out.printf("cos(%8.3f) = %8.3f¥n", x, Math.cos(x));
System.out.printf("tan(%8.3f) = %8.3f¥n", x, Math.tan(x));
System.out.printf("abs(%8.3f) = %8.3f¥n", x, Math.abs(x));
}
}
21
実行結果例
22
出力と計算式の組み合わせ
23
メッセージと計算結果の表示
Java の標準ライブラリの機能(ごく一部)
• 指数,対数,平方根
• exp 指数関数(e のべき乗)
• log10 対数関数(底を 10 とする自然対数)
• sqrt 平方根
• 三角関数
• cos コサイン
• sin サイン
• tan タンジェント
• 絶対値
• abs 絶対値
24
いろいろな計算
25
d = Math.sqrt( ( x * x ) + ( y * y ) );
x
2
+ y
2
を計算し,d に格納
√
x = Math.sqrt( a * ( a - b ) * ( a - c ) );
a(a-b)(a-c)を計算し,x に格納
√
))()(( csbsass −−−
A = sqrt(s * (s - a) * (s - b) * (s - c));
を計算し,A に格納
2/)( cba ++
を計算し,s に格納
s = ( a + b + c ) / 2;
まとめ
Java には,四則演算,各種の標準ライブラリ(三
角関数,指数・対数関数,平方根など)の機能があ
る
•26
演習1.Heron の公式
• 三角形の3辺の長さ a, b, c を読み込んで,面積 A
を計算するプログラムを作りなさい.
• Heronの公式を用いること
27
))()(( csbsassA −−−=
2/)( cbas ++=