public interface Operation {
public double GetResult(double NumberA,double NumberB);
}
public class add implements Operation {
@Override
public double GetResult(double NumberA, double NumberB) {
return NumberA+NumberB;
}
}
public class minus implements Operation {
@Override
public double GetResult(double NumberA, double NumberB) {
// TODO Auto-generated method stub
return NumberA-NumberB;
}
}
public class multiplication implements Operatio
@Override
public double GetResult(double NumberA, double NumberB) {
// TODO Auto-generated method stub
return NumberA*NumberB;
}
}
public class division implements Operation {
@Override
public double GetResult(double NumberA, double NumberB) {
// TODO Auto-generated method stub
return NumberA/NumberB;
}
}
public class operationFactory {
public static Operation creatOperate(String d){
Operation operation=null;
//多种选择
switch(d){
case"+":
operation=new add();
break;
case"-":
operation=new minus();
break;
case"*":
operation=new multiplication();
break;
case"/":
operation=new division();
break;
}
return operation;
}
}
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("请输入第一个数字:");
double NumberA=s.nextInt();
System.out.println("请输入运算符:");
String operation=s.next();
System.out.println("请输入第二个数字:");
double NumberB=s.nextInt();
Operation o=operationFactory.creatOperate(operation);
System.out.println(“运算结果为:”+o.GetResult(NumberA, NumberB));
}
}
Java设计模式代码练习自留。