Java 获取字符的Scanner方法
什么是Java 获取字符的Scanner方法,java,char,java.util.scanner,Java,Char,Java.util.scanner,什么是Scanner方法来获取Java键盘返回的char 如nextLine()用于String,nextInt()用于int,等等。您可以使用(在Java 6中出现)如下所示: Console cons = System.console(); if(cons != null) { char c = (char) cons.reader().read(); // Checking for EOF omitted ... } Scanner sc: char c = sc.findI
Scanner
方法来获取Java键盘返回的char
如nextLine()
用于String
,nextInt()
用于int
,等等。您可以使用(在Java 6中出现)如下所示:
Console cons = System.console();
if(cons != null) {
char c = (char) cons.reader().read(); // Checking for EOF omitted
...
}
Scanner sc:
char c = sc.findInLine(".").charAt(0);
如果只需要一行,甚至不需要遍历reader对象:
String s = cons.readLine();
要从
扫描仪
获取字符
,可以使用findInLine
方法
Scanner sc = new Scanner("abc");
char ch = sc.findInLine(".").charAt(0);
System.out.println(ch); // prints "a"
System.out.println(sc.next()); // prints "bc"
如果您需要从扫描器中获取一堆字符,那么(可能暂时)将分隔符更改为空字符串可能更方便。这将使next()
每次返回一个长度为1的字符串
Scanner sc = new Scanner("abc");
sc.useDelimiter("");
while (sc.hasNext()) {
System.out.println(sc.next());
} // prints "a", "b", "c"
Java的Scanner类没有一个内置的方法来逐个字符地读取扫描器
但是,仍然可以从扫描仪中提取单个字符,如下所示:
Console cons = System.console();
if(cons != null) {
char c = (char) cons.reader().read(); // Checking for EOF omitted
...
}
Scanner sc:
char c = sc.findInLine(".").charAt(0);
您可以使用它获取扫描仪中的每个字符,如下所示:
while(sc.hasNext()){
char c = sc.findInLine(".").charAt(0);
System.out.println(c); //to print out every char in the scanner
}
findInLine()方法搜索扫描器并返回与给定正则表达式匹配的第一个字符串
Console cons = System.console();
上面的代码行将cons创建为空引用。代码和输出如下所示:
Console cons = System.console();
if (cons != null) {
System.out.println("Enter single character: ");
char c = (char) cons.reader().read();
System.out.println(c);
}else{
System.out.println(cons);
}
输出:
空的
该代码是在macbook pro上用java版本“1.6.0_37”测试的。sc.next()。charat(0)…是用户根据运行时输入的数字输入字符的方法
例如:
sc.next().charat(2)------------>>>>>>谢谢mate的快速回复,所以没有内置的方法。最后我做了字符串str=kb.nextLine();字符c=str.charAt(0)@多边形:默认分隔符是(“”
)。。。?如何使其倒退?这是建议的方式吗?因为这一个比所有其他给定的解决方案都简单findInLine(“.”
将不匹配换行符。第二种方法可以。为什么使用findInLine(“.”)代码>我可以通过这个扫描仪在=新扫描仪(System.in)中获取输入;字符a;a=in.next().charAt(0);系统输出打印项次(a)代码>请在代码中添加解释。这个答案在已经存在和被接受的答案之上增加了什么?
Scanner sc = new Scanner (System.in)
char c = sc.next().trim().charAt(0);