A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© Neverlandxu 中级黑马   /  2015-10-15 00:01  /  381 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Scanner类
基础班最近比较频繁接触到Scanner这个类,在网上找了点资料总结一下分享给大家,总结的不好希望不要嫌弃
目前可以简单的理解为获取键盘输入的数字作为程序中的变量进行运算
(1)Scanner的基本使用方法:
常用构造方法:
Scanner(File source) //构造一个新的Scanner,它生成的值是从指定文件扫描的
Scanner(InputStream source) //构造一个新的 Scanner,它生成的值是从指定的
                             输入流扫描的
Scanner(String source) //构造一个新的Scanner,它生成的值是从指定字符串
                          扫描的。

先介绍几个重要的成员方法:
int nextInt(); //将输入信息的下一个标记扫描为一个 int
double nextDouble(); //将输入信息的下一个标记扫描为一个double
...
String nextNext();  //查找并返回来自此扫描器的下一个完整标记(字符串)
String nextLine();  //此扫描器执行当前行,并返回跳过的输入信息
...
boolean hasNext();  //如果此扫描器的输入中有另一个标记,则返回true
boolean hasNext(Pattern pattern); //如果下一个完整标记与指定模式匹配,则
                                   返回true
boolean hasNext(String pattern); //如果下一个标记与从指定字符串构造的模式
                                   匹配,则返回true
boolean hasNextInt(); //如果通过使用nextInt()方法,此扫描器输入信息中的下
                   一个标记可以解释为指定基数中的一个int 值,则返回true。
...
例如:
import java.util.*;
class ScannerSample{
public static void main(String args[]) throws Exception{
  Scanner sin = new Scanner(System.in);  
  sin.useDelimiter("aa*");//以正规表达式“aa”所表示的字符串为分割符.
  /*今天特意查了一下useDelimiter(String pattern)这个方法,就是当需要从键盘输入多个数据时分隔符问题,如果不调用这个方法的话
在DOS命令行多个字符之间可以用空格来连接,也可以输入一个之后按下回车再输入下一个,调用这个方法的话就限定了分隔符的格式,
例如本段代码中就以aa为分隔符,键盘输入的数据之间用aa分割,如果要深入了解的话建议去仔细看下API里面的解释
*/
  int a, b, c;  
  a = sin.nextInt();
  b = sin.nextInt();
  c = sin.nextInt();
  System.out.println(a +"\t"+ b +"\t"+ c);  
}
}
例如,在此程序中,
若键盘输入为:123aa54344aa23435aa
则输出为:123    54344    23435

1 个回复

倒序浏览
汗。。。快去查查API介绍吧里边介绍的全
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马