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

时间:2013-03-08 08:05:04

标签: java input console sublimetext2

我最近切换到sublime text 2,但我似乎无法找到任何插件/资源,这将允许我在编辑器中实现java控制台输入。我已经设法编译并执行java文件,但每当我的代码需要任何输入(如扫描仪输入)时,代码都无法编译,我收到错误。

我已经看到了为python实现这一目标的解决方案,但是没有设法在Java上找到任何东西。

3 个答案:

答案 0 :(得分:5)

好的,我已经找到了一个完整且完美的解决方案来解决这个“在Sublime中运行java”问题,我只在Windows 7中对此进行了测试。

按照以下步骤,您将在sublime中拥有2个Build Systems - “JavaC”和“JavaC_Input”。

  • “JavaC”可以让您运行不需要用户输入的代码,并在sublime的终端模拟器中显示结果,方便又美观。

  • “JavaC_Input”允许您在单独的终端窗口中运行需要用户输入的代码,它能够接受用户输入。您还可以在此构建系统中运行不需要输入的代码,因此如果您不介意弹出窗口,您可以坚持使用此构建系统而不要切换。

您可以在工具中切换构建系统 - >构建系统。然后使用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

答案 1 :(得分:0)

我能够在Windows 8上解决这个问题,我还没有在任何其他平台上测试过,希望这对你有用。

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

  2. 确保启动命令使用驱动器:\ Path_to_cygwin_installation \ bin \ start

    • 您可以使用where命令验证这一点:
          where start
  3. 创建javac.sublime.build系统

    • 这是我的,可以改进
    
    {
    "cmd": ["javac.bat", "$file"],
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.java"
    }
    
    
    • 确保更新环境路径,以便知道javac.bat的位置;我把我放在java_home装置下。
  4. 创建您的javac.bat文件并使其在您的环境路径中可用

    
    @echo off
    javac  -Xlint:unchecked %~n1.java 
    start java -ea %~n1
    
    
  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");
            }
        }
    }
    
  6. 您现在可以编译您的java文件并在新窗口中获取它。

答案 2 :(得分:-1)

不幸的是,Sublime Text 2或3有无解决方案

但我仍然喜欢它!所以我通常只是手动指定输入:

System.out.print("Enter Stack size: ");
//int input = br.readLine();
int input = 10;
当需要用输入运行程序时(几乎从不,实际上),

留下必要的部分进行注释。

相关问题