就目前的使用经验来看,我觉得Scanner是最好用的获取键盘输入的方式。Scanner是一个基于正则表达式的文本扫描器,它可以从文件,输入流,字符串中解析出基本类型值和字符串值。使用Scanner可以减少很多获取键盘输入后转换数据类型的工作。下面就来介绍其用法。
Scanner sc1=new Scanner(System.in);//获取系统输入,也就是键盘输入
while(true)
{
if(sc1.hasNextInt())
{
System.out.println("获取键盘输入的整形是:"+sc1.nextInt());
}
if(sc1.hasNext())
{
System.out.println("获取键盘输入的字符串是:"+sc1.next());
}
}
Scanner不仅会扫描字符串,还会扫面整形与其他类型,这样,就可以直接获得相关的数据而不用进行转换。
通过他的hasNextXXX()方法来获得数据。
String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");//设置分隔符
System.out.println(s.nextInt());
System.out.println(s.nextInt());
System.out.println(s.next());
System.out.println(s.next());
s.close();
以上代码表示通过设置分隔符来实现对对字符串分解。