- 实验内容
具体要求如下:
- 定义策略。定义名字为GroupStrategy的策略接口,该接口中声明一个分组的抽象方法:void group(int n);
- 定义具体策略。通过实现GroupStrategy策略接口,定义StrategyOne和StrategyTwo两个具体策略类。
- StrategyOne:将1~n之间的整数按奇偶数分成2组,将分组后的整数打印到屏幕。
- StrategyTwo:将1~n之间的整数,用3求余分成3组,被3除尽的数为一组、被3除余1的为一组、被3除余2的为一组,将分组后的整数打印到屏幕。
- 定义上下文类。定义名字为IntergerGroup的上下文类,该类有一个stratey(GroupStrategy类型)变量,提供以下方法:
- 设置策略的方法:
void setStrategy(GroupStrategy strategy);
- 委托strategy变量调用具体分组策略实现的方法对1~n之间的整数进行分组,的方法:
void integerDivide(int n);
- 编写包含main方法的应用程序类Application.java测试以上程序。测试结果如下:
- 源代码
//类1. GroupStrategy.java package ShiYan5;
public interface GroupStrategy { public void group(int n); }
|
//类2.StrategyOne.java package ShiYan5;
public class StrategyOne implements GroupStrategy{ //将1~n之间的整数按奇偶数分成2组 public void group(int n) { int[] odd=new int[n]; int[] even=new int[n]; System.out.println("将1-"+n+"按奇偶数分成两组:"); int a=0,b=0; for(int |