class Volume { //円柱の体積計算 double CV (double r,double h){ //半径rと高さhを定義。 double S = r*r*Math.PI; //Math.PI=3.14...(円周率) return (S*h); //(底面積×高さ) } //三角柱の体積計算 double TV (double b,double h2,double h3){ //底辺bと底面の高さh2、三角柱の高さh3を定義。 double S = b*h2/2; return (S*h2); } //四角柱の体積計算 double QV (double l,double s,double h4){ //底面の縦と横をそれぞれl,s、高さをhと定義。 double S = l*s; return (S*h4); } } class Volumes { public static void main(String args[]){ double r,h,b,h2,h3,h4,l,s,CV,TV,QV; Volume V = new Volume(); r = 10; h = 20; b = 25; h2= 25; h3= 30; h4= 15; l = 15; s = 40; CV= V.CV(r,h); TV= V.TV(b,h2,h3); QV= V.QV(l,s,h4); //画面表示 System.out.println("=円柱="); System.out.println("半径==>" + r ); System.out.println("高さ==>" + h ); System.out.println("体積==>" + CV ); System.out.println(" "); System.out.println("=三角柱="); System.out.println("底辺==>" + b ); System.out.println("高さ(底面)==>" + h2 ); System.out.println("高さ(角柱)==>" + h3 ); System.out.println("体積==>" + TV ); System.out.println(" "); System.out.println("=四角柱="); System.out.println("縦==>" + l ); System.out.println("横==>" + s ); System.out.println("高さ=>" + h4 ); System.out.println("体積==>" + QV ); } }
=円柱= 半径==>10.0 高さ==>20.0 体積==>6283.185307179587 =三角柱= 底辺==>25.0 高さ(底面)==>25.0 高さ(角柱)==>30.0 体積==>7812.5 =四角柱= 縦==>15.0 横==>40.0 高さ=>15.0 体積==>9000.0
//四角柱の表面積 double QS(double l, double s,double h){ double BS = l*s; //底面積 double SS = 2*(l+s)*h; //側面積 return(BS + SS); //底面積×側面積 } //球の表面積 double ball(double r){ //半径rを定義 return(4*r*r*Math.PI); } } class Area { public static void main(String args[]){ double l,s,h,r,QS,ball; Surface_Area SA = new Surface_Area(); l = 10; s = 15; h = 30; r = 10; QS = SA.QS(l,s,h); ball = SA.ball(r); //画面表示 System.out.println("四角柱の表面積"); System.out.println("縦==>" + l); System.out.println("横==>" + s); System.out.println("高さ==>" + h); System.out.println("表面積" + QS); System.out.println(" "); System.out.println("球の表面積"); System.out.println("半径==>" + r); System.out.println("表面積" + ball); System.out.println(" "); } }
四角柱の表面積 縦==>10.0 横==>15.0 高さ==>30.0 表面積1650.0 球の表面積 半径==>10.0 表面積1256.6370614359173
import java.io.*; class factrial { public static void main(String args[]) throws Exception { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.print("input natural number: "); int num = (new Integer(in.readLine())).intValue(); System.out.print("for文を使った階乗計算 => "); System.out.println(num + "! =" + factfor(num)); System.out.print("再帰呼び出しによる階乗計算 => "); System.out.println(num + "! =" + factrec(num)); } /* for 文を使った階乗の計算 */ static int factfor(int number) { int factrial = 1; for (int i = 1; i <= number; i++) { factrial = i * factrial; } return(factrial); } /* 再帰による階乗の計算 */ static int factrec(int number) { if (number == 0) return(1); return(number*factrec(number - 1)); } }
input natural number: 5 for => 5! =120 saiki => 5! =120
static int factfor(int number) { int factrial = 1; for (int i = 1; i <= number; i++) { factrial = i * factrial; } return(factrial); }
static int factrec(int number) { if (number == 0) return(1); return(number*factrec(number - 1)); } }
nmber=5 number*factrial(number-1)=5*factrial(4) ↑↑↑↑↑↑↑↑↑↑分からない factrial(4)を呼び出す factrial(4)=4*factrial(4-1)=4*factrial(3) ↑↑↑↑↑↑↑↑↑分からない factrial(3)を呼び出す factrial(3)=3*factrial(3-1)=3*factrial(2) ↑↑↑↑↑↑↑↑↑ factrial(2)を呼び出す factrial(2)=2*factrial(2-1)=2*factrial(1) ↑↑↑↑↑↑↑↑↑↑ factrial(1)を呼び出す factrial(1)=1*factrial(1-1)=1*factrial(0) ここで、factrial(0)=1であることが分かるので全ての値がわかる。 factrial(0)=1 factrial(1)=1*1=1 factrial(2)=2*1=2 factrial(3)=3*2=6 factrial(4)=4*6=24 factrial(5)=5*24=120←