无法在Eclipse中运行Oracle建议的JAVA代码

时间:2017-06-23 16:45:39

标签: java eclipse

我正在尝试在JAVA中学习正则表达式,建议我在我首选的IDE(Eclipse)中复制和编译代码以测试API的工作方式。
资料来源:https://docs.oracle.com/javase/tutorial/essential/regex/test_harness.html

当我跑步时,我的IDE只在输出中说“无控制台”。

我已经从我为JAVA拍摄的在线课程中编写了许多程序,从未遇到过无法识别控制台的情况。我已经将这些已编译的项目导出为runnable .jars,并且从命令行执行只有jar文件名时从未遇到过问题。我发现当导出为runnable .jar时 - 对于这个特定的jar文件 - 前言在命令行上执行 - &gt; java -jar <*runnable.jar*>
这有效......从我的IDE运行不会 也许显然,我是OOP的新手,我到处搜索(包括在你的网站上),并且没有线索。我在Windows 7 64位机器上运行Eclipse 2(4.5.2)版本的Eclipse; JRE / JDK 8;以及JAVA_HOME ENV设置。
有人可以告诉我在Eclipse的IDE设置中要更改哪些属性?或许,Oracle代码需要针对我的特定环境进行扩充?

1 个答案:

答案 0 :(得分:0)

本教程使用System.console(),但这需要一个实际的终端,并且在IDE中运行时不会起作用。这很遗憾,因为它可以很好地从System.in&amp;请改为打印到System.out

这是一个可以在Eclipse或任何好的IDE中使用的替代品:

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class RegexTestHarness {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        while (true) {
            System.out.println("\nEnter your regex: ");
            Pattern pattern =
                    Pattern.compile(input.nextLine());

            System.out.println("Enter input string to search: ");
            Matcher matcher =
                    pattern.matcher(input.nextLine());

            boolean found = false;
            while (matcher.find()) {
                System.out.printf("I found the text" +
                                " \"%s\" starting at " +
                                "index %d and ending at index %d.%n",
                        matcher.group(),
                        matcher.start(),
                        matcher.end());
                found = true;
            }
            if(!found){
                System.out.println("No match found.\n");
            }
        }
    }
}