Java_CH5_HW2

試設計一個程式,能計算浮點數的四則運算。
程式將按照 原 abstract ,extends 架構、加減乘除採 switch case 方式做判斷 、程式需作適度的修改。
請參考文件 :第五章作業參考文件.pdf
例 :
輸入運算符號 + 輸入兩數 30 8 30.0+ 8.0 兩數相加 = 38.0
輸入運算符號 – 30.0 – 8.0 兩數相減 = 22.0
輸入運算符號 * 30.0 * 8.0 兩數相乘 = 240.0



import java.util.*;

public class Java_CH5_HW2
{

 public static void main(String[] args)
 {
  // TODO 自動產生的方法 Stub
  char opr = (char) -1;
  double num1 = 0, num2 = 0;
  Scanner scan = new Scanner(System.in);
  try
  {
   System.out.print("輸入運算符號:");
   opr = (char) System.in.read();
   System.out.print("輸入兩數:");
   num1 = scan.nextDouble();
   num2 = scan.nextDouble();
  }
  catch (Exception e)
  {
   System.out.println(" Error: " + e.toString());
  }
  My_abs_Calculation demo = new My_abs_Calculation();
  switch (opr)
  {
  case '+':
   demo.addition(num1, num2);
   break;
  case '-':
   demo.subtraction(num1, num2);
   break;
  case '*':
   demo.multiplication(num1, num2);
   break;
  case '/':
   demo.division(num1, num2);
   break;
  default:
   System.out.println(" Unknown operation ! ");
  }
 }

}

abstract class abs_Calculation
{
 double z;

 public void addition(double x, double y)
 {
  z = x + y;
  System.out.println(x + "+" + y + "兩數相加 : " + z);
 }

 public void subtraction(double x, double y)
 {
  z = x - y;
  System.out.println(x + "-" + y + "兩數相減 : " + z);
 }

 public abstract void division(double x, double y);
}

class My_abs_Calculation extends abs_Calculation
{

 public void multiplication(double x, double y)
 {
  z = x * y;
  System.out.println(x + "*" + y + "兩數相乘後 : " + z);
 }

 public void division(double num1, double num2)
 {
  z = num1 / num2;
  System.out.println(num1 + "/" + num2 + "兩數相除 : " + z);
 }
}

留言

這個網誌中的熱門文章

UVA 11321 Java