2016-11-17 42 views
0

我想做一个程序,当一个按钮被按下时,它会开始创建许多看不见的帧,它应该会导致一台PC崩溃。然而,当我尝试和运行控制台立即终止程序立即终止,而不是停留在一个恒定的循环

这是程序代码:

public class JavaTester extends JFrame { 
    static JFrame frame; 
static ImageIcon img; 
private static boolean a = false; 

public JavaTester() { 
    frame = new JFrame(); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setSize(670, 700); 
    frame.setLocationRelativeTo(null); 
    frame.getContentPane().setBackground(new Color(0,255,0,0)); 
    frame.getContentPane().setLayout(null); 
    frame.setUndecorated(true); 

    frame.setResizable(false); 
    frame.setVisible(true); 

    addKeyListener(new KeyListener() { 

     public void keyPressed(KeyEvent e) { 
      a = true; 

     } 

     public void keyReleased(KeyEvent e) { 

     } 

     public void keyTyped(KeyEvent e) { 

     } 

    }); 
} 

public static void main(String[] args) { 
    do { 

     if (a) { 
      while (true) 
       new JavaTester(); 

     } 
    } while (a = false); 
    } 
} 

是这样一个问题,我的回路进行排序的方式,还是有别的东西,使得它瞬间停止运行?

回答

1

问题是在这里: while (a = false);

通过这样做,a设置为false

相反,你需要使用conditional operator等于(a == false)

+1

事实上,因为它导致正是这个问题你不应该比较布尔真或假,只是做',而(!A)' – JimNicholson

+0

烨说保持它运行,iv'e一直不好,像这样的小事谢谢你:) –