Java 从现有阵列构建阵列? int[]StarTime=新int[20]; int[]持续时间=新int[40]; int[]EndTime=newint[StarTime.length]; StarTime[0]=0; 指数分布exp=新指数分布(4.0); 对于(int j=1;j

Java 从现有阵列构建阵列? int[]StarTime=新int[20]; int[]持续时间=新int[40]; int[]EndTime=newint[StarTime.length]; StarTime[0]=0; 指数分布exp=新指数分布(4.0); 对于(int j=1;j,java,arrays,Java,Arrays,我有两个数组StarTime和duration。我想构建一个数组,它的每个索引都被分配一个值,这个值是这两个数组的索引值之和。假设EndTime是我想要创建的数组,如果StarTime[0]是2,duration[0]是4,EndTime[0]应该是6 我该怎么做呢?在将两个int数组添加到另一个int数组中时,没有理由给出类型不匹配。它应该在以下方面发挥作用: int[] StarTime = new int[20]; int[] duration = new int[40]; int[]

我有两个数组StarTime和duration。我想构建一个数组,它的每个索引都被分配一个值,这个值是这两个数组的索引值之和。假设EndTime是我想要创建的数组,如果StarTime[0]是2,duration[0]是4,EndTime[0]应该是6


我该怎么做呢?

在将两个
int
数组添加到另一个
int
数组中时,没有理由给出类型不匹配。它应该在以下方面发挥作用:

int[] StarTime = new int[20]; 
int[] duration = new int[40]; 
int[] EndTime = new int[StarTime.length];            
StarTime[0] = 0;                

ExponentialDistribution exp = new ExponentialDistribution(4.0);
    for(int j = 1; j < 20; j++){
        StarTime[j] = (int)exp.sample() + 1+StarTime[j-1];

    }
    for(int k = 0; k < 20;k ++){
        duration[k] = 20 + (int)(Math.random() * ((120 - 10) + 1));
    }
for(int k=0;k<20;k++){
结束时间[k]=开始时间[k]+持续时间[k];
}

确保
exp.sample()。还要确保数组的类型相同。

这就是我如何声明数组类型“int[]StarTime=new int[20];int[]duration=new int[40];int[]EndTime=new int[StarTime.length];
exp.sample()
返回什么?这个问题中缺少一些东西。如果你只是简单地执行int[]StarTime=new int[20];int[]duration=new int[40];int[]EndTime=newint[StarTime.length];EndTime[0]=StarTime[0]+持续时间[0];没有类型错误。向我们展示您声称的错误。例如,制作一个小的可编译示例,说明行给出了类型不匹配错误。并且,当您编写任何语言时,请确保遵循一致的命名约定。例如,在Java中,变量名应为
endTime
,而不是
endTime
,我看不出任何错误我猜你遗漏了什么。你能给我们看看stacktrace吗?是的exp.sample()正在转换为int。它成功了。谢谢
for(int k = 0; k < 20; k++){
    EndTime[k] = StarTime[k] + duration[k];
}