簡體   English   中英

Sublime Text 2中的Java控制台輸入?

[英]Java console input in Sublime Text 2?

我最近切換到sublime text 2,但我似乎找不到任何插件/資源,這將允許我在編輯器中實現java控制台輸入。 我已經設法使它編譯並執行java文件,但每當我的代碼需要任何輸入(如掃描儀輸入)時,代碼都不會編譯,我得到一個錯誤。

我已經看到了為python實現這一目標的解決方案,但是卻無法在Java上找到任何東西。

好的,我已經找到了一個完整而完美的解決方案來解決這個“在Sublime中運行java”的問題,我只在Windows 7中對此進行了測試。

按照以下步驟,您將擁有2個崇高的構建系統 - “JavaC”和“JavaC_Input”。

  • “JavaC”可以讓你運行不需要用戶輸入的代碼,並在sublime的終端模擬器中顯示結果,這很方便,美觀。

  • “JavaC_Input”允許您在單獨的終端窗口中運行需要用戶輸入的代碼,它能夠接受用戶輸入。 您還可以在此構建系統中運行不需要輸入的代碼,因此如果您不介意彈出窗口,您可以堅持使用此構建系統而不要切換。

您可以在Tools - > Build System之間切換構建系統。 然后使用ctrl + b編譯並運行代碼。

以下是實現此目的的步驟:

(注意:確保你已經有了java系統的基本設置:安裝JDK並設置正確的CLASSPATH和PATH,我不會詳細說明)

“JavaC”構建系統設置

1,使用以下代碼創建一個bat文件,並將其保存在C:\\ Program Files \\ Java \\ jdk * \\ bin \\下以將所有內容保存在一起。 將文件命名為“javacexec.bat”。

@ECHO OFF
cd %~dp1
javac %~nx1
java %~n1

2,然后編輯C:\\ Users \\ your_user_name \\ AppData \\ Roaming \\ Sublime Text 2 \\ Packages \\ Java \\ JavaC.sublime-build(如果沒有,創建一個),內容將是

{
   "cmd": ["javacexec.bat", "$file"],
   "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
   "selector": "source.java"
}

“JavaC_Input”構建系統設置(主要與@lac_dev的答案相同)

1,安裝Cygwin [http://www.cygwin.com/]

2,轉到C:\\ Users \\ your_user_name \\ AppData \\ Roaming \\ Sublime Text 2 \\ Packages \\ Java \\,然后創建一個名為“JavaC_Input.sublime-build”的文件,其中包含以下內容

{
"cmd": ["javacexec_input.bat", "$file"],
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.java"
}

3,使用以下代碼制作一個bat文件,並將其保存在C:\\ Program Files \\ Java \\ jdk * \\ bin \\下,以便將所有內容保存在一起。 將文件命名為“javacexec_input.bat”。

@echo off
javac  -Xlint:unchecked %~n1.java 
start cmd /k java -ea %~n1

我能夠在Windows 8上解決這個問題,我還沒有在任何其他平台上測試它,希望這對你有用。

  1. 安裝Cygwin [http://www.cygwin.com/]

  2. 確保start命令使用驅動器:\\ Path_to_cygwin_installation \\ bin \\ start

    • 您可以使用where命令驗證這一點:
        哪里開始 
  3. 創建一個javac.sublime.build系統

    • 這是我的,可以改進
    \n\n {\n “cmd”:[“javac.bat”,“$ file”],\n “file_regex”:“^(... *?):( [0-9] *):?([0-9] *)”,\n “selector”:“source.java”\n }\n\n
    • 確保更新環境路徑,以便知道javac.bat ; 我將我的安裝在我的java_home下。
  4. 創建您的javac.bat文件並使其在您的環境路徑上可用

    \n\n @echo關閉\n javac -Xlint:未選中%~n1.java \n 啟動java -ea%~n1\n\n
  5. 在我的例子中,我必須確保我保持應用程序打開:

     import java.util.Scanner; class Test { public static void main(String[] args) { Scanner reader = new Scanner(System.in); int input = -1; while(input != 0) { System.out.println("======================="); System.out.println("What is Your Age? Enter 0 to exit;"); input = reader.nextInt(); System.out.println("You've entered " + input + "\\n\\n"); } } } 

您現在可以編譯您的java文件並在新窗口中獲取它。

不幸的是,Sublime Text 2或3 沒有可用的解決方案

但我還是喜歡它! 所以我通常只是手動指定輸入:

System.out.print("Enter Stack size: ");
//int input = br.readLine();
int input = 10;

當我需要用輸入運行程序時(幾乎從不,實際上),留下必要的部分進行評論。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM