java初学者 加入小组

294个成员 65个话题 创建时间:2015-02-03

习题4.6.10奇怪的打印问题

发表于2015-10-03 3303次查看

《JAVA 开发实战经典》第4章习题10的一个奇怪的问题:将打印语句写在IF语句之内(代码如下),编译无法通过,显示

xiti410.java:21: 错误: 无法访问的语句
       System.out.println("插入的位置是第" + position + "个位置之后");

打印语句修改到FOR循环之外(注释行解放),则编译通过。

百思不得其解的是,即使在IF语句之内,编译也应该能通过呀,为什么出错呢?望高手指点

public class xiti410
{
 public static void main(String[] args)
  {
   int Arr[] = {1, 11, 22, 33, 44, 55, 66, 77, 88, 99};
   int num = 50;
   int position = 0;
//先找到插入位置   
    for(int i = 0; i < Arr.length; i++)
     {
      if(num < Arr[i])
        {
         position = i;
         break;
       System.out.println("插入的位置是第" + position + "个位置之后");

        }
     }
//      System.out.println("插入的位置是第" + position + "个位置之后");

  }

}

2回复
  • 2楼 gunter 2015-10-04

    为什么没有人回复呢

  • 3楼 11111 2015-10-28

    你要把break;放到打印后边。

    基础不扎实,break;跳出循环,之后的语句不再执行

发表回复
你还没有登录,请先 登录或 注册!