2015-03-31 27 views
-1

我有這樣的代碼:找不出如何解決一個變量

import java.util.Scanner; 
public class lectureArray { 
    public static void main(String[] args) { 
     Scanner sc = new Scanner(System.in); 
     System.out.print("Enter a number: "); 
     int n = sc.nextInt(); 
     int [] arr = new int[n]; 

     for(int i = 0; i < n; i++) 
      arr[i] = sc.nextInt(); 

     for(int i = n-1; i >= 0; i--); 
     System.out.println(arr[i]) ; 
    } 

} 

,我有這樣的錯誤:「我不能被解析爲一個變量」。 無論我試圖擺脫它多少,它只是犯了更多的錯誤或不解決錯誤首先

+1

刪除'for(int i = n-1; i> = 0; i - );' – ortis 2015-03-31 11:53:51

+0

[This](http://stackoverflow.com/a/15786982/2557685)上的最後一個分號解釋有和沒有大括號的循環的區別。 – RegisteredUser 2015-03-31 11:59:56

回答

0

從for循環中刪除分號。從去年從代碼的倒數第二行更改

for(int i = n-1; i >= 0; i--); 

for(int i = n-1; i >= 0; i--) 
0

刪除分號如下

for(int i = n-1; i >= 0; i--); <---- This is causing you problem 
     System.out.println(arr[i]) ; 

for(int i = n-1; i >= 0; i--) 
     System.out.println(arr[i]) ; 
0

這些類型的問題是非常當你時常見不遵循編碼標準。確保正確地格式化您的代碼。使用forwhileif等不帶大括號({})會導致這些類型的幾乎不可察覺的錯誤。

for(int i = n-1; i >= 0; i--); // **;** ends the scope of your loop 
     System.out.println(arr[i]) ; // so **i** is not visible here. 

這是正確的格式。

for(int i = n-1; i >= 0; i--){ 
     System.out.println(arr[i]) ; 
} 

不要猶豫,因爲它需要一個額外的路線。但是在調試甚至讀取代碼時會節省大量時間。

0

我認爲通過從代碼的第二行刪除分號(;)將足以擺脫此問題。

相關問題