class shui
{
public static void main(String[] args)
{
int x = 1;
int y = 1;
int z = 1;
int count =0;
while(x<=10 || y<=10 || z<=10)
{
if(x*x*x+y*y*y+z*z*z<=999 && x*x*x+y*y*y+z*z*z>=100);
{
count++;
}
x++;
y++;
z++;
}
System.out.println("count="+count);
}
}
自己乱写的,不知道,为什么结果输出是10;作者: 尤圣回 时间: 2012-9-21 22:35
while(x<=10 || y<=10 || z<=10) //因为只循环10次
{
if(x*x*x+y*y*y+z*z*z<=999 && x*x*x+y*y*y+z*z*z>=100); //这句代码根本没起到作用
{
count++;
}作者: 王自强 时间: 2012-9-21 22:53
class shui
{
public static void main(String[] args)
{
int x = 1;
int y = 1;
int z = 1;
int count =0;
while(x<=10 || y<=10 || z<=10)
{
if(x*x*x+y*y*y+z*z*z<=999 && x*x*x+y*y*y+z*z*z>=100)//把 ; 去掉
{
count++;
System.out.println("x="+x+"x*x*x+y*y*y+z*z*z="+3*x*x*x);
}
x++;
y++;
z++;
}
System.out.println("count="+count);
}
} 作者: 张忠豹 时间: 2012-9-22 16:04
public static void main(String[] args) {
int x = 1;
int y = 1;
int z = 1;
int count = 0;
//while循环用于控制循环是否继续进行的判断条件
while (x <= 10 || y <= 10 || z <= 10) {
//if条件判断,也许我们会把注意力都集中到这上面,可是千万要小心,因为其后面有;结束符,它是一条完整的代码,就其在本函数中是没有任何用的,如果硬说有用的话,那就是迷惑大家的
if (x * x * x + y * y * y + z * z * z <= 999&& x * x * x + y * y * y + z * z * z >= 100);
//有意思的这一段代码:在Java中有一个名称叫做局部代码块,在这个while循环判断条件满足的情况下,count变量的值就会自增1
{
count++;
}
//下面三句话,就不用说了
x++;
y++;
z++;
}
System.out.println("count=" + count);
}
Java是博大精深的,上面用到了局部代码块,楼主可以多查以下资料,不光是局部代码块,还有构造代码块、静态代码块作者: 明光照 时间: 2012-9-22 16:23
你在if判断语句的后面加了一个分号。然后把count++加上了大括号。楼主的代码相当于这样的。
class shui
{
public static void main(String[] args)
{
int x = 1;
int y = 1;
int z = 1;
int count =0;
while(x<=10 || y<=10 || z<=10)
{
count++;
x++;
y++;
z++;
}
System.out.println("count="+count);
}
}作者: 邓利军 时间: 2012-9-22 18:55 本帖最后由 邓利军 于 2012-9-22 19:45 编辑
楼主,我告诉你为什么你的结果是10.
因为你这语句后面有个分号";" if(x*x*x+y*y*y+z*z*z<=999 && x*x*x+y*y*y+z*z*z>=100);
加了分号意思是:你这代码块结束了,if 和while后面都不能带分号.
你加了分号,此句条件表达式无效了,然后相当于循环执行以下代码
int x = 1;
int y = 1;
int z = 1;
int count =0;
while(x<=10 || y<=10 || z<=10)
{
count++;
}
x++;
y++;
z++;
x,y,x,从1到10循环,但这循环没有用了,无输出,count从0加1一直到10,x<=10 || y<=10 || z<=10条件满足后,count=10,然后才开始执行这一句输出语句
System.out.println("count="+count);
所以输出结果是10,
________________________________________________________________________________
那么代码可以这样写:
class shui
{
public static void main(String[] args)
{
int x = 1;
int y = 1;
int z = 1;
int count =0;
while(x<=10 || y<=10 || z<=10)
{
int sum=x*x*x+y*y*y+z*z*z;
if(sum<=999 && sum>=100)
{
count++;
System.out.println("x="+x+",x*x*x+y*y*y+z*z*z="+sum);
}
x++;
y++;
z++;
}
System.out.println("count="+count);
}
}