【发布时间】:2018-01-19 15:47:48
【问题描述】:
我正在尝试编写有关正则表达式的 java 教程,它有一个测试工具。我复制了代码并尝试运行它。
import java.io.Console;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class RegexTestHarness {
public static void main(String[] args) {
Console console = System.console();
if (console == null) {
System.err.println("No console.");
System.exit(1);
}
while (true) {
Pattern pattern = Pattern.compile(console.readLine("%nEnter your regex: "));
Matcher matcher = pattern.matcher(console.readLine("Enter input string to search: "));
boolean found = false;
while (matcher.find()) {
console.format("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) {
console.format("No match found.%n");
}
}
}
}
我在控制台上收到以下错误消息
拿起 JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar 没有控制台。
它正在导入“控制台”并在我的控制台上显示错误。所以我不确定它为什么不创建控制台。
可以在以下位置找到该页面:JAVA test Harness
【问题讨论】:
-
你是在eclipse下运行你的应用程序吗?如果是这样,请使用 java.util.Scanner,因为 System.console() 返回 null(eclipse 错误:bugs.eclipse.org/bugs/show_bug.cgi?id=122429)
标签: java