相信很多人都知道scanner类,用于Java的控制台输入,但是在实际开发中几乎用不到这个类,常用的场景也就是初学者和各种算法竞赛中,但是不知道使用这个类时有没有这种问题,就是你需要从控制台输入多个多种类型的数据时,这时你的scanner类的next或者nextline方法就会出问题,要么结束不了,要么获取错误,让人十分糟心,这里我主要说下scanner类的替换方法,不使用官方给的这个类,并完成从控制台获取数据。
其实呢也不难,主要就是数据流,一般我们使用数据流都是和文件进行打交道,但是他也能和控制台交互,通过下面的代码我们就得到了操作控制台的类
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
再通过input.readLine()方法就可以得到从控制台输入的一行数据,返回值是String类型,可以通过类型转换来得到想要的数据如Integer.parseInt(input.readLine())将数据转化为int类型
使用这种方法的好处是没有各种糟心的错误