2017-09-04 72 views
1

我有一个名为x=points的数组。在这个数组中有十个坐标(无论如何,它们的一部分是x)。我想为数组中的每个点添加值10 * c。此外,这是在Java中。将值添加到数组的内容

我该怎么做?

for (int c = 0; c <= 9; c++) { 
for(int k = 0; k <= 9; k++) { 
     if (k%2 == 0) { 
      xpoints[k] = (int) (20*Math.cos((k*3.14/5)+3*3.14/2)) +60; 
      ypoints[k] = (int) (20*Math.sin((k*3.14/5)+3*3.14/2)) +60; 
     } else if (k%2 == 1) { 
      xpoints[k] = (int) (8*Math.cos((k*3.14/5)+3*3.14/2)) +60; 
      ypoints[k] = (int) (8*Math.sin((k*3.14/5)+3*3.14/2)) +60; 
      } 
     } 
    // This is where I am having trouble 
    xpoints[] = xpoints + 5*c; 
    g.fillPolygon(xpoints, ypoints, npoints); 
} 
+0

的编程语言是这样吗? –

+0

对不起,这是用java编写的 – Hnorth

+0

你的代码是哪里? –

回答

0
// This is where I am having trouble 
xpoints[] = xpoints + 5*c; 

到阵列内更新在索引i一个值,该索引的访问,并重新分配更新值:

xpoints[i] = xpoints[i] + 10 * c; 

或更短:

xpoints[i] += 10 * c; 

为了和循环整个阵列上更新每个单个值:

for (int i = 0; i < xpoints.length; i++) { 
    xpoints[i] += 10 * c; 
} 

或者使用Java 8流:

xpoints = Arrays.stream(xpoints).map(xpoint -> xpoint + 10 * c).toArray(); 
+0

环路工程完美, 谢谢! – Hnorth