każdym(cn)是一个ham水电站发出的年平均电力，单位是千瓦时(kWh)。该水电站是N个国家电网的供电源泉。每个国家网格都需要从该水电站接收一个最低电力水平，记录为L(cn)，单位也是千瓦时。N个国家电力网承诺，每年从hydroHamin获得的总电力数量不少于M kWh。现要求该水电站每年必须在一个国家电网中发出L(cn)千瓦时，而且每年发出的总电力最小值为M。此 HttpClientModule 类需要实现的功能包括检查chosen国家电网cn的最小输出L(cn)，还要给出水电站发电量.putInt elasticity，单位为千万瓦(mW)，弹性度定义为最小调度弹性，是所有可能情况下每年允许的电力输出增加的最大值。帮我对类HttpClientModule进行设计，保证满足以下需求：具备处理电力总需求M和单个国家电网最低需求L(cn)的方法；计算电力输出弹性的方法，需要说明弹性度를。

设计的类遵从以下格式给出，注意文末应该有结束语 toReturn，且结束语前有一个新行：
```java
public class HttpClientModule {
  // 定义年平均电力发出值
  double everyYearPowerProduced;

  // 定义国家数量
  int numberOfGrids;

  // 定义国家单个电网最低电力需求值
  double[] powerLows; // 使用数组实现

  // 年总电力输出
  double annualPowerTotal;

  // 计算单个电网最小电力输出
  double getCountryNeeds(int cn) {
  	// 实现方法内容
  }

  // 判断总电力需求是否满足要求
  boolean isAnnualSupplyAdequate() {
  	// 实现方法内容
  }

  // 计算一年中电力产出的弹性度
  double calculateElasticity() {
  	// 实现方法内容
  }

  // 结束语
  void toReturn() {
    System.out.println("电力弹性设计完成，满足所有电量承担需求。");
  }

}
```
user
```java
public class HttpClientModule {
  // 定义年平均电力发出值
  double everyYearPowerProduced;

  // 定义国家数量
  int numberOfGrids;

  // 定义国家单个电网最低电力需求值
  double[] powerLows; // 使用数组实现

  // 年总电力输出
  double annualPowerTotal;

  // 构造函数初始化变量
  public HttpClientModule(double annualPowerTotal, int numberOfGrids, double[] powerLows) {
    this.annualPowerTotal = annualPowerTotal;
    this.numberOfGrids = numberOfGrids;
    this.powerLows = new double[numberOfGrids];
    for (int i = 0; i < numberOfGrids; i++) {
      this.powerLows[i] = powerLows[i];
    }
    this.everyYearPowerProduced = annualPowerTotal;
  }

  // 计算单个电网最小电力输出
  double getCountryNeeds(int cn) {
    if (cn >= 0 && cn < numberOfGrids) {
      return powerLows[cn];
    } else {
      throw new IllegalArgumentException("指定的国家电网索引不合法");
    }
  }

  // 判断总电力需求是否满足要求
  boolean isAnnualSupplyAdequate() {
    double requiredTotal = 0;
    for (double lo : powerLows) {
      requiredTotal += lo;
    }
    return annualPowerTotal >= requiredTotal;
  }

  // 计算一年中电力产出的弹性度
  double calculateElasticity() {
    double flexibility = 0;
    if (numberOfGrids > 0) {
      double maxExcess = annualPowerTotal - powerLows[0];
      for (int i = 1; i < numberOfGrids; i++) {
        double excessForCountry = annualPowerTotal - powerLows[i];
        if (excessForCountry > maxExcess) {
          maxExcess = excessForCountry;
        }
      }
      flexibility = (maxExcess - getCountryNeeds(0)) * 1000; // 转化为千万瓦(mW)
    }
    return flexibility;
  }

  // 结束语
  void toReturn() {
    System.out.println("电力弹性设计完成，满足所有电量承担需求。");
  }

}
```
assistant