相关疑难解决方法(0)

正则表达式匹配除了空格之外的任何单个字符

我需要匹配一个只有空格的单个字符,但我不知道如何使用正则表达式.

regex

158
推荐指数
2
解决办法
13万
查看次数

如何在Java中从控制台读取单个字符(用户键入它)?

当用户在Java中键入时,是否有一种从控制台读取单个字符的简单方法?可能吗?我尝试过这些方法但他们都在等待用户按下回车键:

char tmp = (char) System.in.read();
char tmp = (char) new InputStreamReader(System.in).read ();
char tmp = (char) System.console().reader().read();           // Java 6
Run Code Online (Sandbox Code Playgroud)

我开始认为System.in在按下enter之前不知道用户输入.

java console input

100
推荐指数
5
解决办法
14万
查看次数

为什么Scanner类没有nextChar方法?

这真的是好奇心而不是问题......

为什么Scanner班级没有nextChar()方法?现在看来似乎应该当你认为它有一个事实next,nextInt,nextLine等方法.

我意识到你可以简单地做到以下几点:

userChar = in.next().charAt(0);
System.out.println( userChar  );
Run Code Online (Sandbox Code Playgroud)

但为什么没有nextChar()方法呢?

java

32
推荐指数
1
解决办法
11万
查看次数

为什么我们不能一次从System.in读取一个字符?

下面的程序打印标准写入的每个字符,但只有在写完新行之后(至少在我的系统上!).

public class Test {
    public static void main(String[] args) throws java.io.IOException {
        int c;
        while ((c = System.in.read()) != -1)
            System.out.print((char) c);
    }
}
Run Code Online (Sandbox Code Playgroud)

这可以防止人们写"按任意键继续"之类的内容,并强制执行"按Enter键继续"等操作.

  • 这是什么原因?
  • 它是Java的限制吗?
  • 这种行为依赖于系统(我在Ubuntu上)吗?它在Mac上如何运作?视窗?
  • 它是否依赖于我运行应用程序的特定终端?(对我来说,它在Eclipse和gnome-terminal中表现得像这样)
  • 有解决方法吗?

java stdin

18
推荐指数
2
解决办法
1万
查看次数

标签 统计

java ×3

console ×1

input ×1

regex ×1

stdin ×1