问题

我试图找到一种方法从键盘获取achar输入。

我试过用:

Scanner reader = new Scanner(System.in);
char c = reader.nextChar();

此方法不存在。

我尝试过cas aString。然而,它并不总是适用于所有情况,因为我从我的方法调用的另一种方法需要achar作为输入。因此,我必须找到一种方法来明确地将char作为输入。

有帮助吗?


#1 热门回答(138 赞)

你可以从Scanner.next获取第一个字符:

char c = reader.next().charAt(0);

要使用exactlyone字符,你可以使用:

char c = reader.findInLine(".").charAt(0);

要消耗严格的角色,你可以使用:

char c = reader.next(".").charAt(0);

#2 热门回答(45 赞)

设置扫描仪:

reader.useDelimiter("");

在此之后reader.next()将返回单字符串。


#3 热门回答(16 赞)

没有API方法可以从扫描程序中获取字符。你应该在返回的String上使用scanner.next()和invokeString.charAt(0)方法获取String。

Scanner reader = new Scanner(System.in);
char c = reader.next().charAt(0);

为了安全地使用空格,你还可以先在字符串中调用trim()以删除任何空格。

Scanner reader = new Scanner(System.in);
char c = reader.next().trim().charAt(0);

原文链接