Report#3

課題


体積・表面積公式クラスの作成

目次

1,体積を求めるクラス[球体、円柱、四角柱]
2,考察[体積]
3,表面積を求めるクラス[球体、四角柱]
4,考察[表面積]
5,階上計算(for文&再帰呼び出し)
6,考察(for文と再帰呼び出しの違い)
7,反省、感想


1,体積を求めるクラス[球体、円柱、四角柱]

ソースコード

1. class rep3 {
2.     double kyutai(int r1) {
3.     return(Math.PI * r1 * r1 * 4 / 3);
4.     }
5. 
6.     double enchuu(int r2, int h1){
7.     return(r2 * 2 * Math.PI * h1);
8.     }
9.
10.    double sikakuchuu(int a,int b,int h2){
11.    return(a * b * h2);
12.    }
13.}
14.
15.class taiseki {
16.    public static void main(String args[]){
17.    double x, y, z;
18.    int u, v, w; 
19.    rep3 keisan = new rep3();
20.    u = 4;
21.    v = 5;
22.    w = 6;
23.    x = keisan.kyutai(u);
24.    y = keisan.enchuu(v,w);
25.    z = keisan.sikakuchuu(u,v,w);
26.    System.out.println("球体の半径 = " + u);
27.    System.out.println("球体の体積 = " + x);
28.    System.out.println();
29.    System.out.println("円柱の半径 = " + v);
30.    System.out.println("円柱の高さ = " + w);
31.    System.out.println("円柱の体積 = " + y);
32.    System.out.println();
33.    System.out.println("四角柱の縦 = " + u);
34.    System.out.println("四角柱の横 = " + v);
35.    System.out.println("四角柱の高さ = " + w);
36.    System.out.println("四角柱の体積 = " + z);
37.    }
38.}

実行結果

球体の半径 = 4
球体の体積 = 67.02064327658225

円柱の半径 = 5
円柱の高さ = 6 
円柱の体積 = 188.49555921538757

四角柱の縦 = 4
四角柱の横 = 5
四角柱の高さ = 6
四角柱の体積 = 120.0

2,考察[体積]

3,表面積を求めるクラス[球体、四角柱]

ソースコード

1. class rep{
2.     double kyutai(int r){
3.     return(4 * Math.PI * r * r);
4.     }
5.     double sikakuchuu(int a,int b,int h){
6.     return( 2 * (a * b + (a + b) * h));
7.     }
8. }
9.
10.class hmenseki {
11.    public static void main(String args[]){
12.    double v, w;
13.    int x, y, z;
14.    rep keisan = new rep();
15.    x = 4;
16.    y = 5;
17.    z = 6;
18.    v = keisan.kyutai(y);
19.    w = keisan.sikakuchuu(x, y, z);
20.    System.out.println("球体の半径 = " + y);
21.    System.out.println("球体の表面積 = " + v);
22.    System.out.println();
23.    System.out.println("四角柱の縦 = " + x);
24.    System.out.println("四角柱の横 = " + y);
25.    System.out.println("四角柱の高さ = " + z);
26.    System.out.println("四角柱の表面積 = " + w);
27.    }
28.}

実行結果

球体の半径 = 5
球体の表面積 = 314.1592653589793

四角柱の縦 = 4
四角柱の横 = 5
四角柱の高さ = 6
四角柱の表面積 = 148.0

4,考察[表面積]

7,階上計算

ソースコード

1. import java.io.*;
2.
3. class factrial {
4. 
5.     public static void main(String args[]) throws Exception {
6.
7.     BufferedReader in = new BufferedReader(new
8.     InputStreamReader(System.in));
9.
10.    System.out.print("input natural number: ");
11.    int num = (new Integer(in.readLine())).intValue();
12.
13.    System.out.print("for文による階上計算    => ");
14.    System.out.println(num + "! =" + factfor(num));
15.
16.    System.out.print("再帰呼び出しによる階上計算 => ");
17.    System.out.println(num + "! =" + factrec(num));
18.
19.    }
20.
21.    /* for文を使った階上の計算*/
22.    static int factfor(int number) {
23.
24.    int factrial = 1;
25.
26.    for (int i = 1; i <= number; i++) {
27.        factrial = i * factrial;
28.	}
29.
30.	return(factrial);
31.
32.    }
33.
34.    /* 再帰による階上の計算*/
35.    static int factrec(int number) {
36.
37.    if (number == 0 ) return(1);
38.    else return( number * factrec(number-1) );
39.
40.}
41.
42.}

実行結果

input natural number: 5
for文を使った階乗計算      => 5! =120
再帰呼び出しによる階乗計算 => 5! =120

6,考察(for文と再帰呼び出しの違い)

7,反省、感想

今回の課題はプログラミング2で初めて徹夜せずにすんだ。
しかし、妥協したところもあるのでもうちょっと頑張ればもうちょっとましになっ たと思う。