关于while循环 的问题

kao331431214 2008-02-24 09:02:43
x初始为1;y初始为1;i为x的平方加上y的平方的和;i不大于10000;每次运算后x+1;y+2;代码如下:
class a
{
public static void main(String args[])
{
int x = 1;
int y = 1;
int i = x*x+y*y;
while(i<10000)
{
System.out.println(i);
x++;
y+=2;
}

}
}
结果显示出来的是无限循环的2也就是说一直在while中循环没有跳出
于是加了break
代码如下:
class a
{
public static void main(String args[])
{
int x = 1;
int y = 1;
int i = x*x+y*y;
while(i<10000)
{
System.out.println(i);
x++;
y+=2;
break;
}

}
}
结果只显示了一个2 也就是说break;语句后程序跳出while后结束了
最后没有办法只好写出一个折中的
代码如下:
class a
{
public static void main(String args[])
{
int x = 1;
int y = 1;
//int i = x*x+y*y;
//while(i<10000)
while(x*x+y*y<10000)
{
System.out.println(x*x+y*y);
x++;
y+=2;
//break;
}

}
}
结果是是正确的
到了这里我就明白问题在那里了
每当跳出while循环时 int x=1;int y=1;就把x y从新初始化了
到了这里大家也知道我的问题了就是如何从while循环中跳出时让x++;y+=2;起作用
这个问题可能比较菜大家不要笑我
请能解决的大侠的解决一下最好能把解决后的代码写出来
...全文
73 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kao331431214 2008-02-24
  • 打赏
  • 举报
回复
原来是这样明白了谢谢
caiming250 2008-02-24
  • 打赏
  • 举报
回复
不是 xy 被初始化了 是你的 i 没跟上 循环的 步伐

改成这样:


class a {
public static void main(String args[]) {
int x = 1;
int y = 1;
int i = x * x + y * y;
while (i < 10000)

{
System.out.println(x * x + y * y);
x++;
y += 2;
i = x * x + y * y;
// break;
}

}
}


62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧