Java嵌套循环(While)
嘿,这里所有的初学者 我被困在这里有一段时间了。我要么得到一个无限循环,要么它只循环11次(我希望外部循环21次)。基本上我是这样理解的,因为第一个循环将被执行,因为它是真的,第二个循环将被执行十次,直到它不是真的。然后,外部循环将通过传递内部循环继续运行(因为条件不再有效),直到外部条件不再为真 提前谢谢Java嵌套循环(While),java,Java,嘿,这里所有的初学者 我被困在这里有一段时间了。我要么得到一个无限循环,要么它只循环11次(我希望外部循环21次)。基本上我是这样理解的,因为第一个循环将被执行,因为它是真的,第二个循环将被执行十次,直到它不是真的。然后,外部循环将通过传递内部循环继续运行(因为条件不再有效),直到外部条件不再为真 提前谢谢 public void setup33() { int x = 0; int y = 0; int i = 0; w
public void setup33()
{
int x = 0;
int y = 0;
int i = 0;
while (i <21)
{
int x2 = 300;
int y2 = 100;
int size = 10;
addObject( new Bubble(), x, y);
x = x + 45;
y = y + 30;
while (i < 10)
{
addObject(new Bubble(size), x2,y2);
x2 = x2 + 40;
size = size + 10;
}
i++;
}
}
public void setup33()
{
int x=0;
int y=0;
int i=0;
while(i如果试图使每个循环离散,则不应使用与while循环变量相同的i
。您可能需要这样做
public void setup33()
{
int x = 0;
int y = 0;
int i = 0;
int j = 0;
while (i <21)
{
int x2 = 300;
int y2 = 100;
int size = 10;
addObject( new Bubble(), x, y);
x = x + 45;
y = y + 30;
while (j < 10)
{
addObject(new Bubble(size), x2,y2);
x2 = x2 + 40;
size = size + 10;
j++;
}
i++;
}
}
public void setup33()
{
int x=0;
int y=0;
int i=0;
int j=0;
while(i如果试图使每个循环离散,则不应使用与while循环变量相同的i
。您可能需要这样做
public void setup33()
{
int x = 0;
int y = 0;
int i = 0;
int j = 0;
while (i <21)
{
int x2 = 300;
int y2 = 100;
int size = 10;
addObject( new Bubble(), x, y);
x = x + 45;
y = y + 30;
while (j < 10)
{
addObject(new Bubble(size), x2,y2);
x2 = x2 + 40;
size = size + 10;
j++;
}
i++;
}
}
public void setup33()
{
int x=0;
int y=0;
int i=0;
int j=0;
而(i您需要另一个可以修改的变量(在内环中),否则内环将修改外环状态(i
isi
,添加一个j
)。您还可以在一条语句中声明相同类型的多个变量,并使用较短的方法进行添加。例如
while (i < 21) {
int x2 = 300, y2 = 100, size = 10, j = 0;
addObject(new Bubble(), x, y);
x += 45;
y += 30;
while (j < 10) {
addObject(new Bubble(size), x2, y2);
x2 += 40;
size += 10;
j++;
}
i++;
}
while(i<21){
int x2=300,y2=100,大小=10,j=0;
添加对象(新气泡(),x,y);
x+=45;
y+=30;
而(j<10){
添加对象(新气泡(大小),x2,y2);
x2+=40;
尺寸+=10;
j++;
}
i++;
}
您需要另一个可以修改的变量(在内部循环中),否则内部循环将修改外部循环状态(i
为i
,添加一个j
)。您还可以在一条语句中声明相同类型的多个变量,并使用较短的方法进行添加。例如
while (i < 21) {
int x2 = 300, y2 = 100, size = 10, j = 0;
addObject(new Bubble(), x, y);
x += 45;
y += 30;
while (j < 10) {
addObject(new Bubble(size), x2, y2);
x2 += 40;
size += 10;
j++;
}
i++;
}
while(i<21){
int x2=300,y2=100,大小=10,j=0;
添加对象(新气泡(),x,y);
x+=45;
y+=30;
而(j<10){
添加对象(新气泡(大小),x2,y2);
x2+=40;
尺寸+=10;
j++;
}
i++;
}
第二个循环中有无限循环,因此必须添加一个变量来计算该循环:
while (i <21)
{
int x2 = 300;
int y2 = 100;
int size = 10;
addObject( new Bubble(), x, y);
x = x + 45;
y = y + 30;
int j = 0;
while (i < 10 && j < 10)
{
addObject(new Bubble(size), x2,y2);
x2 = x2 + 40;
size = size + 10;
j++;
}
i++;
}
while(i在第二个循环中有无限循环,因此必须添加一个变量来计算该循环:
while (i <21)
{
int x2 = 300;
int y2 = 100;
int size = 10;
addObject( new Bubble(), x, y);
x = x + 45;
y = y + 30;
int j = 0;
while (i < 10 && j < 10)
{
addObject(new Bubble(size), x2,y2);
x2 = x2 + 40;
size = size + 10;
j++;
}
i++;
}
while(i按照我的解释,您只希望在顶级循环的前10次迭代中运行子while循环
在这种情况下,不需要第二个循环,而是应该使用if语句
public void setup33()
{
int x = 0;
int y = 0;
int i = 0;
while (i <21)
{
int x2 = 300;
int y2 = 100;
int size = 10;
addObject( new Bubble(), x, y);
x = x + 45;
y = y + 30;
if (i < 10)
{
addObject(new Bubble(size), x2,y2);
x2 = x2 + 40;
size = size + 10;
}
i++;
}
}
public void setup33()
{
int x=0;
int y=0;
int i=0;
虽然(i按照我的解释,您只希望在顶级循环的前10次迭代中运行子while循环
在这种情况下,不需要第二个循环,而是应该使用if语句
public void setup33()
{
int x = 0;
int y = 0;
int i = 0;
while (i <21)
{
int x2 = 300;
int y2 = 100;
int size = 10;
addObject( new Bubble(), x, y);
x = x + 45;
y = y + 30;
if (i < 10)
{
addObject(new Bubble(size), x2,y2);
x2 = x2 + 40;
size = size + 10;
}
i++;
}
}
public void setup33()
{
int x=0;
int y=0;
int i=0;
while(i您也可以使用do while循环,但您需要在那里添加一个额外的变量。例如:
if (i < 21) {
do {
int x2 = 300;
int y2 = 100;
int size = 10;
addObject(new Bubble(), x, y);
x = x + 45;
y = y + 30;
while (j < 10) {
addObject(new Bubble(size), x2, y2);
x2 = x2 + 40;
size = size + 10;
j++;
}
j = 0;
i++;
} while (i < 21);
}
if(i<21){
做{
int x2=300;
int y2=100;
int size=10;
添加对象(新气泡(),x,y);
x=x+45;
y=y+30;
而(j<10){
添加对象(新气泡(大小),x2,y2);
x2=x2+40;
尺寸=尺寸+10;
j++;
}
j=0;
i++;
}而(i<21);
}
您也可以使用do while循环,但需要在其中添加一个额外的变量。例如:
if (i < 21) {
do {
int x2 = 300;
int y2 = 100;
int size = 10;
addObject(new Bubble(), x, y);
x = x + 45;
y = y + 30;
while (j < 10) {
addObject(new Bubble(size), x2, y2);
x2 = x2 + 40;
size = size + 10;
j++;
}
j = 0;
i++;
} while (i < 21);
}
if(i<21){
做{
int x2=300;
int y2=100;
int size=10;
添加对象(新气泡(),x,y);
x=x+45;
y=y+30;
而(j<10){
添加对象(新气泡(大小),x2,y2);
x2=x2+40;
尺寸=尺寸+10;
j++;
}
j=0;
i++;
}而(i<21);
}
非常感谢,轻松修复。非常感谢,轻松修复。