我的程序一直要循环做某件事,如果在循环里加个等待按键的语句后循环就会停下来等待按键,我的目的是不想让循环停下来,但又想让按键下去后循环就能检测到再正常中止退出?
是不是要用多线程?
哪位大虾指导一下,最好有示例代码!

解决方案 »

  1.   

    循环比如
    boolean flag=true;
    while(flag){
     //这里一直做某事
    }然后在按键的Action里设置,当按下后flag=false;
    这样就退出了
      

  2.   

    import java.awt.event.*;
    import java.util.*;
    import javax.swing.Timer;
    import java.io.*;
    public class TypeToQuit{
    public static void main(String[] args) {
    Timer t = new Timer(1000,new ActionListener(){
    public void actionPerformed(ActionEvent e){
    System.out.println(new Date());
    }
    });
    t.start();
    Quit q = new Quit();
    q.start();
    }}class Quit extends Thread{
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    public void run(){
    while(true){
    try{
    int a = br.read();
    if(a=='q')
    System.exit(0);
    }catch(IOException e){
    e.printStackTrace();
    }
    }
    }
    }
      

  3.   

    new一个线程,设置一个按键当你按键时就改变线程运行的flag值就可以了!!
      

  4.   

    believefym的程序不对劲吧?只是一个劲地打印当前时间,按什么都不退出只能按ctrl+c退出
      

  5.   

    believefym的程序不对劲吧?只是一个劲地打印当前时间,按什么都不退出只能按ctrl+c退出----------------------------------------按q不能退出?