黑马程序员技术交流社区

标题: 小程序没运行结果 [打印本页]

作者: 顾亦飞    时间: 2012-6-24 10:53
标题: 小程序没运行结果
本帖最后由 顾亦飞 于 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. }
复制代码

作者: 黑马—陈磊    时间: 2012-6-24 10:57
for(int x=100; x<99; x--)
条件判断就是错的,100<99  ?,进不了for循环,x<99改成x>0.

作者: 赵玮_Tom    时间: 2012-6-24 10:58
我要吐槽{:soso_e113:}有结果我就疯了,初始化x=100,在满足x<99的情况下执行for循环体内的代码并将x自减。嗯,看起来不错,可是第一次判断x<99的条件就不满足哇,循环根本没运行,建议还是看看老毕的视频,把for循环的运行路线屡清了再说吧,嘿嘿,楼主,你可长点心吧{:soso_e113:}
作者: 孙峰    时间: 2012-6-24 11:03
编译时 只是对语法进行检查,看是否有语法错误。 这例子中语法正确,所以编译通过。

但是 你运行时就是要有语句执行结果的。 例子中的for 循环 就没执行啊
for(表达式1,表达式2,表达式3)
{
执行语句;
}
   对于for循环的执行是这样的:首先判断 表达式1 和表达式2 ,两个表达式为true后   再运行 执行语句,  最后再执行 表达式3,  然后循环。
作者: 王月    时间: 2012-6-24 11:46
1,呵呵,大哥,for循环里100比99大吧,不满足判断语句x<99,所以肯定不会执行到下面的语句。
2,就算把x=100改成比99小的数字也不行,会出现死循环,因为你后面的x--会让 x 永远满足x<99这个判断语句,
所以如果LZ想得到1到100之间的奇偶数的话,写成这样吧  for(int x=1;x<=100;x++)。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2