A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 顾亦飞 初级黑马   /  2012-6-24 10:53  /  1660 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 顾亦飞 于 2012-6-24 11:07 编辑

小程序,可以骗译通过,就是没有运行结果。看了好久硬是没发现问题。大神们看看。
  1. class CoinTest
  2. {
  3.            public static void main(String[] args)
  4.               {
  5.                
  6.                      for(int x=100; x<99; x--)
  7.                     {
  8.                           if(x%2 == 0) System.out.println("positive");
  9.                           else System.out.println("opposite");
  10.                
  11.                       }        
  12.              }
  13. }
复制代码

4 个回复

倒序浏览
for(int x=100; x<99; x--)
条件判断就是错的,100<99  ?,进不了for循环,x<99改成x>0.
回复 使用道具 举报
我要吐槽{:soso_e113:}有结果我就疯了,初始化x=100,在满足x<99的情况下执行for循环体内的代码并将x自减。嗯,看起来不错,可是第一次判断x<99的条件就不满足哇,循环根本没运行,建议还是看看老毕的视频,把for循环的运行路线屡清了再说吧,嘿嘿,楼主,你可长点心吧{:soso_e113:}
回复 使用道具 举报
编译时 只是对语法进行检查,看是否有语法错误。 这例子中语法正确,所以编译通过。

但是 你运行时就是要有语句执行结果的。 例子中的for 循环 就没执行啊
for(表达式1,表达式2,表达式3)
{
执行语句;
}
   对于for循环的执行是这样的:首先判断 表达式1 和表达式2 ,两个表达式为true后   再运行 执行语句,  最后再执行 表达式3,  然后循环。
回复 使用道具 举报
1,呵呵,大哥,for循环里100比99大吧,不满足判断语句x<99,所以肯定不会执行到下面的语句。
2,就算把x=100改成比99小的数字也不行,会出现死循环,因为你后面的x--会让 x 永远满足x<99这个判断语句,
所以如果LZ想得到1到100之间的奇偶数的话,写成这样吧  for(int x=1;x<=100;x++)。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马