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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© qxc1281 中级黑马   /  2015-6-30 09:34  /  680 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class Test extends Thread{

  2.         private boolean flag ;
  3.        
  4.         public void setStar(){
  5.                 flag = true;
  6.         }
  7.        
  8.         public void setEnd(){
  9.                 flag = false;
  10.         }
  11.        
  12.         public void run() {
  13.                 int num = 0;
  14.                 while(flag){
  15.                         System.out.println(Thread.currentThread().getName()+"  "+num+++"  "+flag);
  16.                 }
  17.         }
  18. }

  19. public class ThreadDemo {
  20.         public static void main(String[] args) {
  21.                 Test t = new Test();
  22.                 t.setStar();
  23.                 t.start();
  24.                 for(int i =0;i<=100;i++){
  25.                         System.out.println(Thread.currentThread().getName()+"  "+i++);
  26.                         if(i==60){
  27.                        
  28.                                 t.setEnd();
  29.                         }
  30.                 }
  31.         }
  32. }
复制代码
为什么停不下来

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

4 个回复

倒序浏览
你主函数for循环条件里面加了i+了一次,在循环体俩面又加了一次,等到判断的时候i是基数,不可能等于60,所以停不下来,你改成基数或者取消循环体里面的i++就行了
回复 使用道具 举报
dillinger 发表于 2015-6-30 17:32
你主函数for循环条件里面加了i+了一次,在循环体俩面又加了一次,等到判断的时候i是基数,不可能等于60,所 ...

太感谢了
回复 使用道具 举报

客气客气~~
回复 使用道具 举报
还没有学到这里,我是来顶贴的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马