大家好,欢迎来到IT知识分享网。
在一次编写代码时需要让程序接收一个字符,当我写出scanner.next时,我惊奇的发现,Scanner类中没有定义读取char的方法!!!
Java中的扫描器类支持nextInt(),nextLong(),nextDouble()等。
但是没有nextChar()。要读取char,我们使用next().charAt(0)。next()函数返回输入中的下一个标记/字符作为字符串,并且charAt(0)函数返回该字符串中的第一个字符。
所以,我们有了思路:
先创建一个Scanner对象,调用Scanner对象的next()方法获取控制台输入的字符串,返回的是一个String类型,因为没有nextChar()方法,所以调用String的charAt(0)方法获取第一个字符,这样一来,我们就输入了一个字符串
根据查找的资料以及知识储备,我总结了三条可以输入一个字符的方法:
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
char c = scanner.next().charAt(0);
这是目前为止最常用的方法,就是上面的黑字原理
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
char c = scanner.next().toCharArray()[0];
这个用起来一般般,没有第一种好用,有些浪费资源,没有第一种简单
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
char c = (char)new BufferedReader(new InputStreamReader(System.in)).read();
这样也可以输入,但是!这情况用于没有scanner包时使用,很麻烦,需要导入很多东西,不建议使用,了解一下即可
综上所述,记住第一种方法,即可,我们来回顾一下第一种
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
char c = scanner.next().charAt(0);
问题得以解决!!!为自己鼓掌
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/23300.html