y = ax + b で表現できる 円・ドル 摂氏・華氏 4種類の相互変換をメソッドとして(クラスではなく)定義
kは実行後に入力する 1,2,3,4 xは実行後に入力する a,b は呼び出し時に定義する
import java.io.*; class keisan1 { public static void main(String[] args) **************************** { int m=0; m=m+1; while(m<=5){ System.out.println(" "); System.out.println("どんな計算をしますか?"); InputStreamReader in=new InputStreamReader(System.in); **************************** // Input k System.out.println("1...円 ⇒ ドル"); System.out.println("2...ドル ⇒ 円"); System.out.println("3...摂氏 ⇒ 華氏"); System.out.print("4...華氏 ⇒ 摂氏 "); String dn0=br.readLine(); int k =Integer.parseInt(dn0); // Input x **************************** **************************** **************************** System.out.print(" 結果..."); switch (k){ case 1 : System.out.println(h(0.008,0.0,x)+"$"); break; case 2 : System.out.println(h(110,0,x)+"円"); break; case 3 : System.out.println(h(10,2,x)+"F"); break; case 4 : System.out.println(h(0.1,-5,x)+"C"); break; } System.out.println("---------------------------------"); } } //=====================method===================== static double h(double a,double b,int x){ return a*x+b; } } ● 1種類の式で表現できない場合には場合わけでメソッドを作成 static int comp(int a,int b,int k){ int result=1; switch (k){ case 1: result=a+b; break; case 2: case 3: } ● または別々にメソッドを作成 //階乗計算 static int fact(int n){ if(n==0) return 1; else return n*fact(n-1); } //最大公約数 static int gcd(int m,int n){ if(n==0) return m; else return gcd(n,m % n); }
Exercises 1) 元金 ,利率,期間を対話的に与えて元利合計を求めるメソッドを作れ。 2) 2整数 n,m と k を入力して, k=1・・・順列 mPn, k=2・・・最大公約数 gcd(m,n), k=3・・・n から m までの和 を求めるメソッドを作れ