0

私はCloudsimに取り組んでいます.私は自分の仕事のためにPowerVmAllocationPolicyAbstractクラスのfindHostForVm()メソッドを変更したいです.私はfindHostForVm()を次で表現される抽象メソッドに変更します.

public abstract class PowerVmAllocationPolicyAbstract extends VmAllocationPolicy {
    public PowerVmAllocationPolicyAbstract(List<? extends Host> list) {
    super(list);
      }
    public abstract PowerHost   findHostForVm(Vm vm) ;
     .
     .
} 

そして、私自身のクラスで findHostForVm(Vm vm) を書きました。 powerDatacenter からインスタンスを作成するとき、1 つのパラメーターは PowerVmAllocationPolicyAbstract を参照する必要があります。

public class D{
  public PowerHost findHostForVm(List<Vm>  vmlist) {
   .
   .
  }
    powerDatacenter = new PowerDatacenter(
                name,
                characteristics,
                new D(),
                 new LinkedList<Storage>(),
                5.0);
   }

しかし、エラーがあります。このエラーは次のとおりです。

constructor PowerDatacenter in class org.cloudbus.cloudsim.power.PowerDatacenter cannot            be applied to given types;
   required:    java.lang.String,org.cloudbus.cloudsim.DatacenterCharacteristics,org.cloudbus.cloudsim.VmAl       locationPolicy,java.util.List<org.cloudbus.cloudsim.Storage>,double
    found:     java.lang.String,org.cloudbus.cloudsim.DatacenterCharacteristics,cs.umu.se.vmp.alg.    D,java.util.LinkedList<org.cloudbus.cloudsim.Storage>,double
   reason: actual argument cs.umu.se.vmp.alg. D  cannot be converted to    org.cloudbus.cloudsim.VmAllocationPolicy by method invocation conversion

私を助けてください私は何をすべきですか?どうもありがとう

4

0 に答える 0