创建嵌套循环

时间:2014-01-08 00:16:39

标签: java android loops

我正在尝试创建一个嵌套循环,这将允许我显示特定次数的内容,但问题是它只放置一个元素而不是其他元素。如何设置坐标?

int rows, cols;
rows = 7;
cols = 6;

for (int i=0; i <rows; i++); {
    for (int j=0; j< cols; j++);

}

3 个答案:

答案 0 :(得分:4)

也许是因为你对圆圈位置进行了硬编码,因此所有圈子都是相同的?

canvas.drawCircle(80,  155, 40, white);

计算位置怎么样?

int x = i * radius + 10; // or whatever you wanna calculate here...
int y = j * radius + 10;
canvas.drawCircle(x,  y, 40, white);

答案 1 :(得分:0)

确保在每个循环周期更新圆坐标!现在他们是硬编码的。这可能会有所帮助:

int rows, cols;
rows = 7;
cols = 6;
for (int i=0; i <rows; i++); {
    for (int j=0; j< cols; j++) {
    canvas.drawCircle(80 + (80*i),  155 + (155*j), 40, white);
    }
}

我只是使用相同的x和y值作为偏移,尽管您可能想要使用它们(80155)来找到您想要的外观。< / p>

答案 2 :(得分:0)

你的for循环不会改变圆圈的位置,因为你只说要在80和155上绘制它 试试这样的事情

int rows, cols;
rows = 7; 
cols = 6;
//initial x and y positions
float initialX =80;
float initialY =155;
int radius = 40;
for (int i=0; i <rows; i++); {
     //you need to reset it for each circle
     float drawX = initialX;
    for (int j=0; j< cols; j++){ 
      canvas.drawCircle(initialX,  initialY, radius, white);
      //where 10 will be the little space you want between circles
        drawX+=radius*2+10;
     }
    initialY+=radius*2+10;
}