public class Count { 
    public static void main(String[] args) { 
        final int START = 2000000000; 
        int count = 0; 
        for (float f = START; f < START + 50; f++) 
            count++; 
        System.out.println(count); 
    } 

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【dajiakan】截止到2008-07-07 16:12:02的历史汇总数据(不包括此帖):
    发帖的总数量:0                        发帖的总分数:0                        
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:---------------------结分的百分比:---------------------
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    f 的初始值太大了,以至于在对其加上 50,然后将结果转型为 float 时,所产生
    的数值等于直接将 f 转换成 float 的数值。换句话说,(float)2000000000 == 
    2000000050,因此表达式 f < START + 50 即使是在循环体第一次执行之前就是
    false,所以,循环体也就永远的不到机会去运行。