2014-03-29 35 views
-2

我無法理解它。線程「main」中的異常java.lang.Error:未解決的編譯問題:局部變量xxx可能尚未初始化

我的錯誤

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
    The local variable time may not have been initialized 
    The local variable time may not have been initialized 

    at earth.main(earth.java:15) 

我的編碼

public class Earth { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 

     int time ; 
     int distance; 
     int speed ; 

     distance = 150000000; 
     speed = 300000; 
     distance = speed * time; 
     System.out.println(+time); 
    }   
} 
+2

你不會學習如何在這裏問一個問題,你所得到的每編譯錯誤的代碼。購買一本書,閱讀它,閱讀錯誤信息並嘗試理解它,然後使用Google來查明是否卡住了。如果它不編譯,請停止運行你的代碼。在Eclipse中打開「Problems」視圖,甚至沒有想到在該視圖中列出錯誤時運行代碼。 Eclipse已經收到警告,但忽略了警告。你從編譯器中得到錯誤,但選擇不讀取它們。這不會讓你走得很遠。錯誤信息必須被讀取。 –

+0

謝謝,我感謝你 – user3475322

回答

0

有趣的是,我可以看到你剛開始學習編程,而你對編程和數學之間的關係感到困惑。

您希望編程類似數學的東西。

在數學,你定義一個等式:

1500 = 3 * time 

然後你得到的答案time = 500

編程不會那樣工作。編程幹機所做的,字面上只:

fetch data from some memory 
perform simple operation (for instance math operation + - * /) 
store result back to some memory 

在編程中,等號=是從它的數學含義方式不同。

編程中,=被稱爲assignment,意思是在哪裏存儲計算結果。所以當你寫distance = speed * time;,這不是一個數學方程式。對於機器來說,這意味着:

fetch values from memory "speed" and memory "time" 
perform math multiply on the two values 
store the result back to memory "distance" 

顯然這不是你想要做的。而且由於你的「時間」沒有包含任何值,所以Java編譯器會抱怨第一步「從時間獲取值」。

計算機很愚蠢,它不能解決數學問題,你必須清楚地寫下你的解決方案。

你真正想要的是:在你的研究

time = distance/speed; 

fetch values from distance and speed 
perform math divide on the two values 
store result back to time 

祝你好運:)

+0

我真的很感謝你!非常感謝你!!!!我真的很高興你的建議!謝謝! – user3475322

+0

你真的需要在編程經驗的附近找到一些朋友(我的意思是在你的現實生活中)。祝你好運。 – huocp

0

試試這個,例如:

int time = 10;

你需要把它初始化一些
值您嘗試使用前它。

您初始化的其他兩個變量已經
但您沒有初始化的time變量。

+0

thx我會嘗試它! – user3475322

1

您已聲明int time;但您尚未爲其分配值,因此在嘗試執行speed * time後,運行時將不知道該做什麼。編譯器檢測到這個並給你那個錯誤。

嘗試將值分配給time,就像您在使用speed一樣。

+0

thx我會試試 – user3475322

0

規則1:

只運行100%的編譯代碼。運行代碼之前解決所有編譯器錯誤。

規則2:已經習慣之前,他們

局部變量應該初始化。用一些值初始化你的時間變量。

int time = ? ; 
+1

thx我欣賞詳細的解釋 – user3475322

相關問題