2016-08-30 5 views
-5
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)); 
    } 

У меня есть два массива StarTime и продолжительность. Я хочу построить массив, каждому индексу которого присваивается значение, которое является суммой значений индексов этих двух массивов. Предположим, что EndTime - это массив, который я хочу создать, и если StarTime [0] равно 2, а длительность [0] равна 4, а EndTime [0] - 6.Построить массив из существующих массивов?

Как мне это сделать?

+0

Это, как я объявлен тип массива» INT [] СтарТайм = новый INT [20]; INT [] Продолжительность = новый INT [40]; INT [] EndTime = новый INT [StarTime.length]; –

+0

Что возвращает 'exp.sample()' –

+0

В этом вопросе чего-то не хватает. Если вы просто делаете int [] StarTime = new int [20]; int [] duration = new int [40]; int [] EndTime = new int [StarTime.length]; EndTime [0] = StarTime [0] + duration [0]; ошибок типа нет. – mtj

ответ

0

Нет причин для указания несоответствия типов, в то время как вы добавляете два массива int в другой массив int. Он должен работать:

for(int k = 0; k < 20; k++){ 
    EndTime[k] = StarTime[k] + duration[k]; 
} 

exp.sample() Убедитесь, что на самом деле литьем в int. Также убедитесь, что массивы одного типа.

+0

Да exp.sample() отливается в int. Это сработало. благодаря –

Смежные вопросы