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