我想要在給定的Java程序中可視化變量的範圍。我怎樣才能在「{」「}」之間命名每個範圍?即我想通過查看程序員將容易知道變量或對象的範圍來在樹結構中顯示變量或對象。 我寫了一個程序來計算「{」「}」以及條件語句或循環語句是否出現在一行中,沒有任何「{」「}」。 我的問題是!有沒有其他工具或概念可以做同樣的事情,或者我們自己寫過。對不起,我不知道如何更清楚地說明。如何在Java程序中可視化變量的範圍
-4
A
回答
1
您可以根據需要命名示波器。如果你想在代碼中做到這一點,你可以添加標籤。
OUTER: {
// code
INNER: {
if(flag)
break OUTER;
}
// code
}
你不能聲明在獨立聲明的變量(沒有{
}
)唯一的例外如果/換每個聲明變量循環。
2
我怎麼能說出的每個範圍「{」「}」
爲什麼你需要命名塊目前尚不清楚。大多數IDE不會這樣做:它們可能會使用突出顯示來顯示哪些開啓和關閉大括號匹配。我認爲你的意思是你想確定每個匹配的大括號對,但你實際上並不需要命名它們。
無論採用哪種方式,您都必須解析源代碼才能正確匹配大括號。請注意,它是而不是足以在不解析代碼的情況下對括號進行計數,因爲例如註釋和字符串中的括號不會開始或結束作用域。
如果條件語句或循環語句出現在單行中且沒有「{」「}」,該怎麼辦?
在條件語句(或循環語句的主體)中創建變量(除非該主體是塊(即用大括號包圍))是不合法的。這是因爲Block
的定義是:
BlockStatement:
LocalVariableDeclarationStatement
ClassDeclaration
Statement
而IfThenStatement
定義爲folows:
IfThenStatement:
if (Expression) Statement
的Statement
的定義不包括LocalVariableDeclarationStatement
(除了一個塊內)。
+0
除了在循環聲明中,例如'for(int i = 0,i <9; i ++)System.out.println(i);' – DNA 2012-02-23 09:19:10
相關問題
- 1. 可變範圍的程序
- 2. java中的範圍變量
- 3. Java中的變量範圍
- 4. Java線程上的變量範圍
- 5. Android/Java變量超出範圍可能
- 6. 如何在jsf中獲取應用程序範圍變量?
- 7. Java變量超出範圍
- 8. 塊處理程序中變量的可見性(範圍)
- 9. 模塊化Javascript中的變量範圍
- 10. vue視圖中的變量範圍
- 11. 在java中獲取變量值的問題。變量的範圍
- 12. Java中變量的範圍 - 問題
- 13. java可變範圍問題
- 14. 如何使範圍變量?
- 15. Groovy應用程序範圍變量
- 16. xQuery應用程序範圍變量?
- 17. Angular2應用程序範圍變量
- 18. 範圍變量中,如果
- 19. Java變量必須在其自己的範圍內初始化?
- 20. Java - 如果語句範圍變量
- 21. OpenCL - 從主機初始化程序範圍變量?
- 22. 如何在Mule中的應用程序範圍中存儲,編輯變量
- 23. Java EE應用程序範圍變量集羣環境(Websphere)?
- 24. 範圍變量
- 25. 變量範圍
- 26. 變量範圍
- 27. 變量範圍
- 28. 變量範圍
- 29. 變量範圍
- 30. 如何分配細胞的範圍的範圍內變化
不知道你的問題是什麼。爲什麼範圍需要名稱? – DNA 2012-02-23 09:15:38