Report3


学籍番号→065726D
名前  →久貝卓矢

課題1 3種類以上の体積を求めるクラスを作成し、具体的な値を入力しプ ログラムを実行せよ


ソース


class kugai {

    double entyu (double r,double h){
        double S = h * r * r * Math.PI;
        return (S);
    }

    double kyu(double r2){
        double k = 4/3 * Math.PI * r2 * r2 * r2;
        return(k);
    }
    double ensui(double r3, double h2){
        double o = r3 * r3 * h2 * Math.PI * 1/3;
        return(o);
    }
}
public class taiseki{
    public static void main(String args[]){
        kugai V = new kugai();
        double r,h,r2,r3,h2,entyu,kyu,ensui;
        r = 5;
        h = 15;
     r2 = 10;
        r3 = 15;
        h2 = 25;
        entyu = V.entyu(r,h);
        kyu = V.kyu(r2);
        ensui = V.ensui(r3,h2);

        System.out.println("円ちゅうの体積");
        System.out.println("半径は" + r );
        System.out.println("高さは" + h );
        System.out.println("体積は" + entyu );
     System.out.println(" ");
        System.out.println("球の体積は??");
        System.out.println("半径は" + r2);
        System.out.println("体積は" + kyu);
        System.out.println(" ");
        System.out.println("円すいの体積は??");
        System.out.println("半径は" + r3);
        System.out.println("高さは" +h2);
        System.out.println("体積は" +ensui);
    }
}

実行結果


円ちゅうの体積
半径は5.0
高さは15.0
体積は1178.0972450961724
 
球の体積は??
半径は10.0
体積は3141.5926535897934
 
円すいの体積は??
半径は15.0
高さは25.0
体積は5890.486225480862

考察

・まず最初は円柱の体積を求めていて半径をr,高さをhとしている。
・Math.PIはパイの事で、円柱の体積は円の面積と高さをかけたものなのでh * r
* r * Math.PIと書いた。
・taisekiで値を設定してそれをkugaiに渡し計算させ、結果をtaisekiにかえし
て出力している。
・同じように球と円すいを求めていっている

課題2 2種類以上の表面積を求めるクラスを作成し、同様に実行せよ


ソース


class hyou{

    double kyu(double r){
        double k = 4*Math.PI*r*r;
        return(k);
    }
    double entyu(double r2, double h){
        double o = 2*Math.PI*r2*h + 2*Math.PI*r2*r2;
        return(o);
    }
}
class menseki{
    public static void main(String args[]){
        hyou V = new hyou();
        double r,r2,h,kyu,entyu;
        r = 10;
        h = 25;
        r2 = 20;
        kyu = V.kyu(r);
        entyu = V.entyu(r2,h);

        System.out.println("球の表面積は??");
 System.out.println("半径は" + r);
        System.out.println("表面積は" + kyu);
        System.out.println(" ");
        System.out.println("円ちゅうの体積は??");
        System.out.println("半径は" + r2);
        System.out.println("高さは" +h);
        System.out.println("表面積は" +entyu);
    }
}

実行結果


球の表面積は??
半径は10.0
表面積は1256.6370614359173
 
円ちゅうの体積は??
半径は20.0
高さは25.0
表面積は5654.8667764616275

実行結果

・体積のソースをもとに作ったので基本的には似ている。
・πを使ってるので小数点も出てくるのでdoubleを使った。
・あとはmensekiで値を入れてhyouで計算させて、そして計算結果を返して出力
している。
・円は4×π×半径×半径で円柱は2×π×半径×高さ+2×半径の2乗である。

課題3 例題を参考に、階乗計算を再帰プログラムにより、作成し、for分 による階乗計算との違いを考察せよ。


ソース


public class kai {
    public static void main(String[] args) {
        for (int i=1; i<21; i++ ){
            System.out.printf("%3d! =  %20d \n",i,factorial(i));
        }
    }
    public  static long factorial(int n) {
        if ( n == 0 ) {
                return 1;
        } else {
            return n*factorial(n-1);
                                        }
    }
}

実行結果


 1! =                     1 
  2! =                     2 
  3! =                     6 
  4! =                    24 
  5! =                   120 
  6! =                   720 
  7! =                  5040 
  8! =                 40320 
  9! =                362880 
 10! =               3628800 
 11! =              39916800 
 12! =             479001600 
 13! =            6227020800 
 14! =           87178291200 
 15! =         1307674368000 
 16! =        20922789888000 
 17! =       355687428096000 
 18! =      6402373705728000 
 19! =    121645100408832000 
 20! =   2432902008176640000 

感想

今回の課題は提出期限がいろんなテストとかぶっていたので時間があまりなくキ ツかったです。もう眠ります!!