我想創建一個嵌套的循環,這將允許我顯示一些特定的次數,但問題是它只放置一個元素而不是其他的。我如何設置座標?創建一個嵌套循環
int rows, cols;
rows = 7;
cols = 6;
for (int i=0; i <rows; i++); {
for (int j=0; j< cols; j++);
}
我想創建一個嵌套的循環,這將允許我顯示一些特定的次數,但問題是它只放置一個元素而不是其他的。我如何設置座標?創建一個嵌套循環
int rows, cols;
rows = 7;
cols = 6;
for (int i=0; i <rows; i++); {
for (int j=0; j< cols; j++);
}
也許是因爲你硬編碼了圓圈的位置,所以對於所有圈子它都是一樣的嗎?
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);
確保你在更新每個循環週期的圓座標!現在他們被硬編碼。這可以幫助:
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的偏移量,雖然你可能要玩弄他們(80
和155
)找到你要的樣子。
您的循環doesen't更改圓的位置,因爲你只說得出它在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;
}
此外內for循環立即被關閉'; ':P – Muel
打我!外循環之後還有一個分號。 – Rafa