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
程式將按照 原 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);
}
}
留言
張貼留言