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
感想
今回の課題は提出期限がいろんなテストとかぶっていたので時間があまりなくキ
ツかったです。もう眠ります!!