2013-10-28 106 views
-2

我在Java中的初學者,我試圖運行下面的代碼:異常錯誤的遊戲代碼

package Happily.Insane.Rain; 


import java.awt.Canvas; 
import java.awt.Dimension; 

import javax.swing.JFrame; 

public class Game extends Canvas implements Runnable { 
     private static final long serialVersionUID = 1L; 

     public static int width = 300; 
     public static height = width/16 * 9; 
     public static int scale = 3; 

     private Thread thread; 
     private JFrame frame; 
     private boolean running = false; 

     public Game() { 
       Dimension size = new Dimension (width*scale, height*scale); 
       setPreferredSize(size); 

       frame = new JFrame(); 
     } 

     public synchronized void start() { 
       running = true; 
       thread = new Thread (this, "Display"); 
       thread.start(); 
     } 

     public synchronized void stop() { 
       running = false; 
       try { 
         thread.join(); 
       } catch (InterruptedException e) { 
         e.printStackTrace(); 
       } 
     } 

     public void run() { 
       while (running) { 
         System.out.println("Running..."); 
       } 
     } 

     public static void main(String[] args) { 

       Game game = new Game(); 
       game.frame.setResizable(false); 
       game.frame.setTitle("Rain"); 
       game.frame.add(game); 
       game.frame.pack(); 
       game.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
       game.frame.setLocationRelativeTo(null); 
       game.frame.setVisible(true); 

       game.start(); 
     } 

} 

有錯誤:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 

     at Happily.Insane.Rain.Game.main(Game.java:47) 

我該如何解決這個問題?

+0

你爲什麼不告訴我們第47行是....? –

+0

@MohammadS。實際上,第47行的錯誤是** not **。它在第13行:http://ideone.com/qaGVsA – ComFreek

+0

您不僅是Java的初學者,而且還是編程概念的初學者。你有意編寫一個擴展Canvas的類,並實現Runnable,同時在構造時另外實例化一個JFrame? Brrr ....(更不用說編譯器錯誤了,你應該在執行之前閱讀。) – Seelenvirtuose

回答

4

沒有指定靜態變量height類型:

public static height = width/16 * 9; 
// ----------^ 

它應該是一個整數:

public static int height = width/16 * 9; 

在今後的文章中,請選中受影響的線路。另外,我們不是一個給予我們問題,我們會解決他們所有的系統。投入一些自己的努力,做一些研究,然後然後來找我們問一個問題。

+0

好的我會記住,我只是剛剛開始學習它,現在我意識到這是一個愚蠢的問題。 – user2895102