如何在2点之间填充数组列表?

我有这段代码。 解释:

用户输入“initcores”数据和“ttime”数据(“fcores”是结果)。

我想用0到ttime的值填充x数组,从initcores到fcores填充y,并做散点图,x vs y。

我有一个问题:

如果我把“for(double t = 0; t <= fcores; t = t + fcores / 10.0){y.add(t);”

它给了我一个情节,但错了。

如果我把“for(double t = initcores; t <= fcores; ……”(这是正确的,因为我们从initcores开始)

情节中没有出现任何内容。

我不是在这儿吗?

谢谢!

......... Double initcores= getInitcores(); Double fcores= getFcores(); Double ttime=getTime(); ArrayList x =new ArrayList(); ArrayList y =new ArrayList(); //fill x,y values for (double t=0;t<=ttime;t+=ttime/10.0){ x.add(t); } for (double t=initcores;t<=fcores;t+=fcores/10.0){ y.add(t); } TimeSeries series = new TimeSeries("Number of cores"); for (int i=0;i<x.size();i++){ for (int j=0;j<y.size();j++){ series.add(i,j); } } .......... 

————–编辑———————————– —

如果我使用:

 double [] x = {0.0,ttime}; //time axis double [] y = {initcores,fcores}; //number of cores axis TimeSeries series = new TimeSeries("Number of cores"); for (int i=0;i<x.length;i++){ series.add(x[i],y[i]); } 

它给了我一个只有2分的情节。这就是为什么我试图填充它们之间的点(对于x轴:0-ttime,对于y轴:initcores-fcores)。

你的for -loops错了。 使用以下的,你应该没事:

  for (int i=0;i<=10;i++){ x.add(ttime / 10.0 * i); } for (int i=0;i<=10;i++){ y.add(initcores + ((fcores - initcores) / 10 * i)); } 

这些循环会给你11分,但你可以根据自己的需要进行调整。

更新

您自然必须使用列表中的正确值。 确保两个列表具有相同的长度。

 ArrayList x = new ArrayList(); ArrayList y = new ArrayList(); ... above code ... TimeSeries series = new TimeSeries("Number of cores"); for (int i=0;i