黑马程序员技术交流社区

标题: 运行代码后,dos的光标不能动了! [打印本页]

作者: 吴光新    时间: 2013-6-2 23:33
标题: 运行代码后,dos的光标不能动了!
本帖最后由 Jiewin 于 2013-6-4 22:59 编辑

//售票程序,有100张票,4个售票窗口同时售票

class Ticket extends Thread
{
private static int tick = 100; //初始化票数为100张。
public void run()
{
while(true)
{
if(tick>0)
{
System.out.println(Thread.currentThread().getName()+" "+tick--);
}
}
}
}

class TicketDemo
{
public static void main(String[] args)
{
Ticket t1 = new Ticket();
Ticket t2 = new Ticket();
Ticket t3 = new Ticket();
Ticket t4 = new Ticket();

t1.start();
t2.start();
t3.start();
t4.start();
}
}

运行后,dos的光标不能移动了,怎么回事?代码哪里有问题吗?
光标在下面不能动了,怎么解决?


查看了进程,java.exe还在运行的,并且占用CPU 50%,导致系统变慢。肯定是代码问题,怎么解决呢?



作者: w270307032    时间: 2013-6-3 12:03
你的循环
while(true)
{
if(tick>0)
{
System.out.println(Thread.currentThread().getName()+" "+tick--);
}没有定义结束标记,这个循环执行起来,是没有办法停止的,你可以先把用Ctrl+C键,强行把程序关下。然后在循环里加上结束标记再运行
如:if(tick<=0)
           break;




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