返回列表 發帖

多載函式 (二)

本帖最後由 tonyh 於 2013-2-16 17:22 編輯

利用函式多載的特性, 以相同的函式名稱, 分別計算圓, 三角形與梯形的面積.
  1. import java.util.Scanner;
  2. public class ch58
  3. {
  4.     public static void main(String args[])
  5.     {
  6.         int option;
  7.         float a, b, c;
  8.         Scanner s=new Scanner(System.in);
  9.         System.out.print("請問想計算哪一種圖形的面積? 1-圓 2-三角形 3-梯形 ");
  10.         option=s.nextInt();
  11.         switch(option)
  12.         {
  13.             case 1:
  14.                 System.out.print("請輸入圓的半徑(公分):");
  15.                 a=s.nextFloat();
  16.                 System.out.println("面積為: "+area(a)+" 平方公分");
  17.                 break;
  18.             case 2:
  19.                 System.out.print("請輸入三角形的底(公分):");
  20.                 a=s.nextFloat();
  21.                 System.out.print("請輸入三角形的高(公分):");
  22.                 b=s.nextFloat();
  23.                 System.out.println("面積為: "+area(a,b)+" 平方公分");
  24.                 break;
  25.             case 3:
  26.                 System.out.print("請輸入梯形的上底(公分):");
  27.                 a=s.nextFloat();
  28.                 System.out.print("請輸入梯形的下底(公分):");
  29.                 b=s.nextFloat();
  30.                 System.out.print("請輸入梯形的高(公分):");
  31.                 c=s.nextFloat();
  32.                 System.out.println("面積為: "+area(a,b,c)+" 平方公分");
  33.                 break;
  34.             default:
  35.                 System.out.println("輸入錯誤!");
  36.         }
  37.     }

  38.     public static double area(float a)
  39.     {
  40.         return a*a*3.14;
  41.     }

  42.     public static float area(float a, float b)
  43.     {
  44.         return a*b/2;
  45.     }
  46.    
  47.     public static float area(float a, float b, float c)
  48.     {
  49.         return (a+b)*c/2;
  50.     }

  51. }
複製代碼

  1. import java.util.Scanner;
  2. public class ch58
  3. {
  4.   public static void main(String args[])
  5.   {
  6.     int option;
  7.     float a,b,c;
  8.     Scanner s=new Scanner(System.in);
  9.     System.out.print("請問想計算哪一種圖形的面積?1-圓 2-三角形 3-梯形");
  10.     option=s.nextInt();
  11.     switch(option)
  12.     {
  13.       case 1:
  14.           System.out.print("請輸入圓的半徑(公分):");
  15.           a=s.nextFloat();
  16.           System.out.println("面積為:"+area(a)+"平方公分");
  17.           break;
  18.       case 2:
  19.           System.out.print("請輸入三角形的長(公分):");
  20.           a=s.nextFloat();
  21.           System.out.print("請輸入三角形的寬(公分):");
  22.           b=s.nextFloat();
  23.           System.out.println("面積為:"+area(b)+"平方公分");
  24.           break;
  25.       case 3:
  26.           System.out.print("請輸入梯型的上底(公分):");
  27.           a=s.nextFloat();
  28.           System.out.print("請輸入梯型的下底(公分):");
  29.           b=s.nextFloat();
  30.           System.out.print("請輸入梯型的高(公分):");
  31.           c=s.nextFloat();
  32.           System.out.println("面積為:"+area(c)+"平方公分");
  33.           break;
  34.       default:
  35.           System.out.println("輸入錯誤");

  36.     }
  37.   }
  38.   public static double area(float a)
  39.   {
  40.     return a*a*3.14;
  41.   }
  42.   public static float area(float a,float b)
  43.   {
  44.     return a*b/2;
  45.   }
  46.   public static float area(float a,float b,float c)
  47.   {
  48.     return (a+b)*c/2;
  49.   }

  50. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class ch58
  3. {
  4.     public static void main(String args[])
  5.     {
  6.         int option;
  7.         float a, b, c;
  8.         Scanner s=new Scanner(System.in);
  9.         System.out.print("請問想計算哪一種圖形面積? 1-圓 2-三角形 3-梯形 ");
  10.         option=s.nextInt();
  11.         switch(option)
  12.         {
  13.             case 1:
  14.                 System.out.print("請輸入圓的半徑(cm): ");
  15.                 a=s.nextFloat();
  16.                 System.out.println("面積為: "+area(a)+"平方公分");
  17.                 break;
  18.             case 2:
  19.                 System.out.print("請輸入三角形的底(cm): ");
  20.                 a=s.nextFloat();
  21.                 System.out.print("請輸入三角形的高(cm): ");
  22.                 b=s.nextFloat();
  23.                 System.out.println("面積為: "+area(a,b)+"平方公分");
  24.                 break;
  25.             case 3:
  26.                 System.out.print("請輸入梯形的上底(cm): ");
  27.                 a=s.nextFloat();
  28.                 System.out.print("請輸入梯形的下底(cm): ");
  29.                 b=s.nextFloat();
  30.                 System.out.print("請輸入梯形的高(cm): ");
  31.                 c=s.nextFloat();
  32.                 System.out.println("面積為: "+area(a,b,c)+"平方公分");
  33.                 break;
  34.             default:
  35.                 System.out.println("輸入錯誤!!");
  36.                 break;
  37.         }
  38.     }
  39.     public static double area(float a)
  40.     {
  41.         return a*a*3.14;
  42.     }
  43.    
  44.     public static float area(float a, float b)
  45.     {
  46.         return a*b/2;
  47.     }
  48.     public static float area(float a, float b, float c)
  49.     {
  50.         return (a+b)*c/2;
  51.     }
  52. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class ch58
  3. {
  4.   public static void main(String args[])
  5.   {
  6.     int option;
  7.     float a,b,c;
  8.     Scanner s=new Scanner(System.in);
  9.     System.out.print("請問想計算哪一種圖形的面積?1-圓 2-三角形 3-梯形");
  10.     option=s.nextInt();
  11.     switch(option)
  12.     {
  13.       case 1:
  14.           System.out.print("請輸入圓的半徑(公分):");
  15.           a=s.nextFloat();
  16.           System.out.println("面積為:"+area(a)+"平方公分");
  17.           break;
  18.       case 2:
  19.           System.out.print("請輸入三角形的長(公分):");
  20.           a=s.nextFloat();
  21.           System.out.print("請輸入三角形的寬(公分):");
  22.           b=s.nextFloat();
  23.           System.out.println("面積為:"+area(b)+"平方公分");
  24.           break;
  25.       case 3:
  26.           System.out.print("請輸入梯型的上底(公分):");
  27.           a=s.nextFloat();
  28.           System.out.print("請輸入梯型的下底(公分):");
  29.           b=s.nextFloat();
  30.           System.out.print("請輸入梯型的高(公分):");
  31.           c=s.nextFloat();
  32.           System.out.println("面積為:"+area(c)+"平方公分");
  33.           break;
  34.       default:
  35.           System.out.println("輸入錯誤");

  36.     }
  37.   }
  38.   public static double area(float a)
  39.   {
  40.     return a*a*3.14;
  41.   }
  42.   public static float area(float a,float b)
  43.   {
  44.     return a*b/2;
  45.   }
  46.   public static float area(float a,float b,float c)
  47.   {
  48.     return (a+b)*c/2;
  49.   }

  50. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class ch58
  3. {
  4.       public static void main(String args[])
  5.       {
  6.           int option;
  7.           float a,b,c;
  8.           Scanner s=new Scanner(System.in);
  9.           System.out.println("請問想計算哪一種圖形面積? 1-圓 2-三角形 3-梯形");
  10.           option=s.nextInt();
  11.           switch(option)
  12.           {
  13.                  case 1:
  14.                     System.out.println("請輸入圓的半徑(cm):");
  15.                     a=s.nextFloat();
  16.                     System.out.println("面積為:"+area(a)+"平方公分");
  17.                     break;
  18.                  case 2:
  19.                     System.out.println("請輸入三角形的底(cm):");
  20.                     a=s.nextFloat();
  21.                     System.out.println("請輸入三角形的高(cm):");
  22.                     b=s.nextFloat();
  23.                     System.out.println("面積為:"+area(a,b)+"平方公分");
  24.                     break;
  25.                  case 3:
  26.                     System.out.println("請輸入梯形的上底(cm):");
  27.                     a=s.nextFloat();
  28.                     System.out.println("請輸入梯形的下底(cm):");
  29.                     b=s.nextFloat();
  30.                     System.out.println("請輸入梯形的高(cm):");
  31.                     c=s.nextFloat();
  32.                     System.out.println("面積為:"+area(a,b,c)+"平方公分");
  33.                     break;
  34.                  default:
  35.                     System.out.println("輸入錯誤");
  36.                     break;

  37.           }
  38.       }
  39.       public static double area(float a)
  40.       {
  41.          return a*a*3.14;
  42.       }
  43.       public static float area(float a,float b)
  44.       {
  45.          return a*b/2;
  46.       }
  47.       public static float area(float a,float b,float c)
  48.       {
  49.          return (a+b)*c/2;
  50.       }

  51. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class ch58
  3. {
  4.     public static void main(String args[])
  5.     {
  6.         int option;
  7.         float a, b, c;
  8.         Scanner s=new Scanner(System.in);
  9.         System.out.print("請問想計算哪一種圖形的面積? 1-圓 2-三角形 3-梯形 ");
  10.         option=s.nextInt();
  11.         switch(option)
  12.         {
  13.             case 1:
  14.                 System.out.print("請輸入圓的半徑(公分):");
  15.                 a=s.nextFloat();
  16.                 System.out.println("面積為: "+area(a)+" 平方公分");
  17.                 break;
  18.             case 2:
  19.                 System.out.print("請輸入三角形的底(公分):");
  20.                 a=s.nextFloat();
  21.                 System.out.print("請輸入三角形的高(公分):");
  22.                 b=s.nextFloat();
  23.                 System.out.println("面積為: "+area(a,b)+" 平方公分");
  24.                 break;
  25.             case 3:
  26.                 System.out.print("請輸入梯形的上底(公分):");
  27.                 a=s.nextFloat();
  28.                 System.out.print("請輸入梯形的下底(公分):");
  29.                 b=s.nextFloat();
  30.                 System.out.print("請輸入梯形的高(公分):");
  31.                 c=s.nextFloat();
  32.                 System.out.println("面積為: "+area(a,b,c)+" 平方公分");
  33.                 break;
  34.             default:
  35.                 System.out.println("輸入錯誤!");
  36.         }
  37.     }

  38.     public static double area(float a)
  39.     {
  40.         return a*a*3.14;
  41.     }

  42.     public static float area(float a, float b)
  43.     {
  44.         return a*b/2;
  45.     }
  46.    
  47.     public static float area(float a, float b, float c)
  48.     {
  49.         return (a+b)*c/2;
  50.     }

  51. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class ch58
  3. {
  4.   public static void main(String args[])
  5.   {
  6.     int option;
  7.     float a,b,c;
  8.     Scanner s=new Scanner(System.in);
  9.     System.out.print("請問想計算哪一種圖形的面積?1-圓 2-三角形 3-梯形");
  10.     option=s.nextInt();
  11.     switch(option)
  12.     {
  13.       case 1:
  14.           System.out.print("請輸入圓的半徑(公分):");
  15.           a=s.nextFloat();
  16.           System.out.println("面積為:"+area(a)+"平方公分");
  17.           break;
  18.       case 2:
  19.           System.out.print("請輸入三角形的長(公分):");
  20.           a=s.nextFloat();
  21.           System.out.print("請輸入三角形的寬(公分):");
  22.           b=s.nextFloat();
  23.           System.out.println("面積為:"+area(b)+"平方公分");
  24.           break;
  25.       case 3:
  26.           System.out.print("請輸入梯型的上底(公分):");
  27.           a=s.nextFloat();
  28.           System.out.print("請輸入梯型的下底(公分):");
  29.           b=s.nextFloat();
  30.           System.out.print("請輸入梯型的高(公分):");
  31.           c=s.nextFloat();
  32.           System.out.println("面積為:"+area(c)+"平方公分");
  33.           break;
  34.       default:
  35.           System.out.println("輸入錯誤");

  36.     }
  37.   }
  38.   public static double area(float a)
  39.   {
  40.     return a*a*3.14;
  41.   }
  42.   public static float area(float a,float b)
  43.   {
  44.     return a*b/2;
  45.   }
  46.   public static float area(float a,float b,float c)
  47.   {
  48.     return (a+b)*c/2;
  49.   }

  50. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class ch58{
  3.   public static void main(String args[]){
  4.     int g;
  5.     float a,b,c;
  6.     Scanner s=new Scanner(System.in);
  7.     System.out.println("請輸入要執行的物件(1.圓形 2.三角形 3.梯形)");
  8.     g=s.nextInt();
  9.     switch(g){
  10.     case 1:System.out.println("請輸入圓的半徑");
  11.            a=s.nextFloat();
  12.            System.out.println("圓的面積為:"+area(a));
  13.            break;
  14.     case 2:System.out.println("請輸入三角形的底和高");
  15.            a=s.nextFloat();
  16.            b=s.nextFloat();
  17.            System.out.println("三角形的面積為"+area(a,b));
  18.            break;
  19.     case 3:System.out.println("請輸入梯形的上底下底及高");
  20.            a=s.nextFloat();
  21.            b=s.nextFloat();
  22.            c=s.nextFloat();
  23.            System.out.println("梯形的面積為"+area(a,b,c));
  24.            break;
  25.     default:System.out.println("error");
  26.     }
  27.   }
  28.   public static double area(float a){
  29.        return a*a*3.14;
  30.     }
  31.   public static float area(float a,float b){
  32.     return a*b/2;
  33.     }
  34.     public static float area(float a,float b,float c){
  35.       return (a+b)*c/2;
  36.       }
  37. }
複製代碼
陳彥綸

TOP

返回列表