本帖最後由 tonyh 於 2013-2-16 17:22 編輯
利用函式多載的特性, 以相同的函式名稱, 分別計算圓, 三角形與梯形的面積.- import java.util.Scanner;
- public class ch58
- {
- public static void main(String args[])
- {
- int option;
- float a, b, c;
- Scanner s=new Scanner(System.in);
- System.out.print("請問想計算哪一種圖形的面積? 1-圓 2-三角形 3-梯形 ");
- option=s.nextInt();
- switch(option)
- {
- case 1:
- System.out.print("請輸入圓的半徑(公分):");
- a=s.nextFloat();
- System.out.println("面積為: "+area(a)+" 平方公分");
- break;
- case 2:
- System.out.print("請輸入三角形的底(公分):");
- a=s.nextFloat();
- System.out.print("請輸入三角形的高(公分):");
- b=s.nextFloat();
- System.out.println("面積為: "+area(a,b)+" 平方公分");
- break;
- case 3:
- System.out.print("請輸入梯形的上底(公分):");
- a=s.nextFloat();
- System.out.print("請輸入梯形的下底(公分):");
- b=s.nextFloat();
- System.out.print("請輸入梯形的高(公分):");
- c=s.nextFloat();
- System.out.println("面積為: "+area(a,b,c)+" 平方公分");
- break;
- default:
- System.out.println("輸入錯誤!");
- }
- }
- public static double area(float a)
- {
- return a*a*3.14;
- }
- public static float area(float a, float b)
- {
- return a*b/2;
- }
-
- public static float area(float a, float b, float c)
- {
- return (a+b)*c/2;
- }
- }
複製代碼 |