本帖最后由 邓利军 于 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,
________________________________________________________________________________
楼主,你列出那样100到999的条件,是想得到这样的结果吧???????
x=4,x*x*x+y*y*y+z*z*z=192
x=5,x*x*x+y*y*y+z*z*z=375
x=6,x*x*x+y*y*y+z*z*z=648
count=3
那么代码可以这样写:
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);
}
}
如果有什么问题请楼主回复,版主,我第一次回答问题,此题技术含量不高,揣摩楼主想法技术含量还可以,望能给分,以安慰我受伤的心灵!!!!万分感谢版主!!!
|