2024/9/22
球の表面積/体積計算
球の表面積/体積の計算式
3.141592…
で、小数点以下は無限に続きます。
Javaソースコード
ここでは、キーボードから半径を入力して、球の表面積と体積を表示するプログラムを紹介します。
AreaofBall1.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 AreaofBall1 { public static void main( String[] args ) { double r; // 半径 double area; // 表面積 double volume; // 体積 // キーボード入力 Scanner scanner = new Scanner(System.in); // 半径の入力 System.out.print( "半径:" ); r = scanner.nextDouble(); // 球の表面積計算 (4πr*r) area = 4.0 * Math.PI * r * r; // 球の体積計算 (4/3πr*r*r) volume = 4.0 / 3.0 * Math.PI * r * r * r; // 球の表面積を表示 System.out.println( "球の表面積:" + area ); // 球の体積を表示 System.out.println( "球の体積:" + volume ); } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis AreaofBall1.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac AreaofBall1.java
実行
C:\talavax\javasample>java AreaofBall1
実行結果
半径:10 球の表面積:1256.6370614359173 球の体積:4188.790204786391
半径10をキーボードから入力して球の表面積と体積を計算した結果です。
ここからは、このソースコードを上から順番に解説していきます。
001
import java.util.Scanner;
Javaのクラスライブラリの中から「java.util.Scanner」というパッケージにあるクラスを、このプログラム内で使うために記述します。 この記述により、Scannerクラスが利用できるようになります。これでキーボードから値の入力が行えるようになります。
003
public class AreaofBall1 {
クラス名を、AreaofBall1としています。
004
public static void main( String[] args ) {
このmainメソッドからプログラムを実行します。
005 006 007
double r; // 半径 double area; // 表面積 double volume; // 体積
このプログラムで使う変数を宣言しています。
009 010
// キーボード入力
Scanner scanner = new Scanner(System.in);
Scannerクラスを作成しています。
012 013 014
// 半径の入力 System.out.print( "半径:" ); r = scanner.nextDouble();
016 017
// 球の表面積計算 (4πr*r)
area = 4.0 * Math.PI * r * r;
Math.PI定数
public static double Math.PI
・円周率πの値 3.141592...
019 020
// 球の体積計算 (4/3πr*r*r)
volume = 4.0 / 3.0 * Math.PI * r * r * r;
022 023
// 球の表面積を表示 System.out.println( "球の表面積:" + area );
球の表面積計算結果をコンソール出力しています。
025 026
// 球の体積を表示 System.out.println( "球の体積:" + volume );
球の体積計算結果をコンソール出力しています。
Javaソースコード(計算部分をメソッドにしたもの)
AreaofBall2.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 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053
import java.util.Scanner; public class AreaofBall2 { // 球の表面積を求めるメソッド // r : 半径 public static double calc_AreaofBall( double r ) { double area; // 球の表面積計算 (4πr*r) area = 4.0 * Math.PI * r * r; return area; } // 球の体積を求めるメソッド // r : 半径 public static double calc_VolumeofBall( double r ) { double volume; // 球の体積計算 (4/3πr*r*r) volume = 4.0 / 3.0 * Math.PI * r * r * r; return volume; } // メイン public static void main( String[] args ) { double r; // 半径 double area; // 表面積 double volume; // 体積 // キーボード入力 Scanner scanner = new Scanner(System.in); // 半径の入力 System.out.print( "半径:" ); r = scanner.nextDouble(); // メソッドを呼んで球の表面積計算 area = calc_AreaofBall( r ); // メソッドを呼んで球の体積計算 volume = calc_VolumeofBall( r ); // 球の表面積を表示 System.out.println( "球の表面積:" + area ); // 球の体積を表示 System.out.println( "球の体積:" + volume ); } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis AreaofBall2.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac AreaofBall2.java
実行
C:\talavax\javasample>java AreaofBall2
実行結果
半径:10 球の表面積:1256.6370614359173 球の体積:4188.790204786391
半径10をキーボードから入力して球の表面積と体積を計算した結果です。
出力結果は、AreaofBall1.javaと同じです。
それでは、このソースコードを上から順番に解説していきます。
001
import java.util.Scanner;
Javaのクラスライブラリの中から「java.util.Scanner」というパッケージにあるクラスを、このプログラム内で使うために記述します。 この記述により、Scannerクラスが利用できるようになります。これでキーボードから値の入力が行えるようになります。
003
public class AreaofBall2 {
クラス名を、AreaofBall2としています。
004 005 006 007 008 009 010 011 012 013 014
// 球の表面積を求めるメソッド // r : 半径 public static double calc_AreaofBall( double r ) { double area; // 球の表面積計算 (4πr*r) area = 4.0 * Math.PI * r * r; return area; }
016 017 018 019 020 021 022 023 024 025 026
// 球の体積を求めるメソッド // r : 半径 public static double calc_VolumeofBall( double r ) { double volume; // 球の体積計算 (4/3πr*r*r) volume = 4.0 / 3.0 * Math.PI * r * r * r; return volume; }
028 029
// メイン public static void main( String[] args ) {
このmainメソッドからプログラムを実行します。
030 031 032
double r; // 半径 double area; // 表面積 double volume; // 体積
このプログラムで使う変数を宣言しています。
034 035
// キーボード入力
Scanner scanner = new Scanner(System.in);
Scannerクラスを作成しています。
037 038 039
// 半径の入力 System.out.print( "半径:" ); r = scanner.nextDouble();
041 042
// メソッドを呼んで球の表面積計算
area = calc_AreaofBall( r );
044 045
// メソッドを呼んで球の体積計算
volume = calc_VolumeofBall( r );
047 048
// 球の表面積を表示 System.out.println( "球の表面積:" + area );
球の表面積計算結果をコンソール出力しています。
050 051
// 球の体積を表示 System.out.println( "球の体積:" + volume );
球の体積計算結果をコンソール出力しています。
以上です。