我想通过使用a来制作直方图HashMap,键应该是延迟,值是此延迟发生的次数.如果已经存在的延迟有新的发生,我怀疑使用HashMap replace或HashMap put函数.
我是这样做的
int delay = (int) (loopcount-packetServed.getArrivalTime());
if(histogramType1.containsKey(delay))
{
histogramType1.replace(delay, histogramType1.get(delay)+1);
}
else
{
histogramType1.put(delay, 1);
}
Run Code Online (Sandbox Code Playgroud)
它是否正确?或者我应该使用put函数的两倍?
我正在尝试用c ++读取一个数组,填充0到5之间的值.由于一个不重要的原因,我需要计算在'iii上有多少数字1,数字2,数字3,数字4和数字5*DAYS'位置,所以当iii = 0且DAYS为5时,我需要知道在第0,第4,第9,第14位置有多少个数字1,数字2,数字3,数字4和数字5.我发布的代码做得很好,但有时,给出一个非常大的非逻辑值,-36589245或99653256,有人可以告诉我为什么会发生这种情况(确实会发生+ - 一次在一个很长的时间内)
DAYS = 28
NURSES = 33
SHIFTS =5
int calculate_penalty_coverage_offspring(int offspring[NURSES*DAYS])
{
int temporary[DAYS];
int count[DAYS][SHIFTS];
penalty_score_offspring_coverage =0;
for (int ii = 0; ii<DAYS; ii++)
{
int een = 0;
int twee = 0;
int drie = 0;
int vier = 0;
int vijf = 0;
for (int iii = 0; iii<NURSES; iii++)
{
temporary[iii] = offspring[(ii+(iii*DAYS))];
}
for(int a = 0 ; a<DAYS ; a++)
{
if(temporary[a]== 1)
{
een++;
count[ii][0] = een; …Run Code Online (Sandbox Code Playgroud)