2016-11-17 28 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一直不好,像這樣的小事謝謝你:) –