double sum = 0;
double a = 0;
for (int i = 0; ; i++)
{
sum += a;
if (a == 1.00)
{
break;
}
a += 0.01;
}
System.out.println(sum);为什么显示不出结果??
double a = 0;
for (int i = 0; ; i++)
{
sum += a;
if (a == 1.00)
{
break;
}
a += 0.01;
}
System.out.println(sum);为什么显示不出结果??
第二个是循环判断标志,不写还真不知道是一直运行还是报错还是不运行
for (int i = 0; ; i++)
呃,啥意思,我不用 a 来限制循环了吗?当 a == 1 的时候就 break了啊为什么会是死循环呢???
if里面的可以这样写:
if(Math.abs(a-1.00)<10e-5)另外,你的书写习惯不太好,这个i有什么用?直接for(;;)或者while(true),或者将a放进for里面
a += 0.01永远不会等于1.00
你自己把a打印出来就明白了public class TestFloat { public static void main(String[] args) {
double sum = 0;
double a = 0;
for (int i = 0;; i++) {
sum += a;
System.out.println(a);
System.out.println(a == 1.00);
if (a == 1.00) {
break;
}
a += 0.01;
}
System.out.println(sum); }}
惭愧,在下从学Java开始不到3个月,不懂之处颇多,多谢指点了!
public class Test
{
float sum = 0;
for (int float = 0.01f; i <= 10.f; i += 0.01f)
{
sum += i;
}
System.out.println(sum);
试试吧!
非常感谢,OK了!不过是i<= 1.0f不是10f,O(∩_∩)O哈哈~