java中scanner类的功能_Java基础之Scanner类

Scanner主要是用来简化文本扫描,最实用的地方表现在获取控制台输入。

在使用这个类之前要用new Scanner(System.in)实例化一个Scanner对象,才能调用类中的方法。

功能1:扫描控制台输入的数据,可接收的数据类型有:整数,字符串,浮点数等,具体方法如下面所示:

1、nextInt()   接收控制台输入的int型数据;

2、nextDouble()   接收控制台输入的double型数据;

3、nextFloat()  接收控制台输入的float型数据;

4、next()  接收控制台输入的字符串数据,以空格键作为两个字符串间间隔的标志;

5、nextLine()  接收控制台输入的以回车键结束的字符串数据;

部分方法运用:

1 System.out.println("请输入一个数字:");2 Scanner sc = newScanner(System.in);3 int number = sc.nextInt();//接收整型数据

4

5 System.out.println("请输入一段英文字符串:");6 String str = sc.next();//接收字符串

7

8 System.out.println("请输入一个成绩:");9 double score = sc.nextDouble();//接收浮点型数据10

11 //当要再次使用nextLine的时候得重新构建一个新的Scanner对象如:

12 System.out.println("请输入一段话:");13 Scanner input = newScanner(System.in);14 String nextStr = input.nextLine();

Scanner的其他部分方法:

1、delimiter() 返回此 Scanner 当前正在用于匹配分隔符的 Pattern;

2、hasNext()  判断扫描器中当前扫描位置后是否还存在下一段;

3、hasNextLint()  如果在此扫描器的输入中存在另一行,则返回 true

等。

1 public classreadhuman {2 private static voidreadfile(String filename) {3 try{4 Scanner scanner = new Scanner(newFile(filename));5 scanner.useDelimiter(System.getProperty("line.separator"));6 while(scanner.hasNext()) {7 parseline(scanner.next());8 }9 scanner.close();10 } catch(FileNotFoundException e) {11 System.out.println(e);12 }13 }14

15 private static voidparseline(String line) {16 Scanner linescanner = newScanner(line);17 linescanner.www.gzlij.com useDelimiter(",");18 //可以修改usedelimiter参数以读取不同分隔符分隔的内容

19 String name =linescanner.next();20 int age =linescanner.nextInt();21 String idate =linescanner.next();22 boolean iscertified =linescanner.nextBoolean();23 System.out.println("姓名:"+name+" ,年龄:"+ age+" ,入司时间:"+ idate+" ,验证标记:"+iscertified );24 }25

26 public static voidmain(String[] args) {27 if (args.length != 1) {28 System.err.println("usage: java readhuman file location");29 System.exit(0);30 }31 readfile(args[0]);32 }33 }34 运行结果:C:\java>java readhuman hrinfo.txt姓名:老赵 ,年龄:28 ,入司时间:feb-01

35 ,验证标记:true姓名:小竹 ,年龄:22 ,入司时间:dec-03 ,验证标记:false姓名:阿波 ,年龄:21 ,入司时间:dec-03

36 ,验证标记:false姓名:凯子,年龄:25 ,入司时间:dec-03 ,验证标记:true

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值