本节目讨论的Scanner为Java™ Platform Standard Ed. 8版本,请来自未来的Java同胞确认自己所处的Java版本时间线,未来的Scanner说不定已经改变了很多

最近参加了很多大公司的在线笔试,然后发现都采用Scanner来进行测试数据输入的,所以今天就简单的回顾了一下Scanner(只讲在线笔试能用到的常用的方法)

[0]Constructors-----构造器之说

俺先从构造器说起。

Scanner的构造器可以分为4种:

1.传入一个IO流,最常用的传入流System.in,这样就可以把我们在控制台输入的数据扫描进入了

Scanner s = new Scanner(System.in);

2.传入一个File对象

Scanner s = new Scanner(new File("myFile"));

随后你可以这么用(有关hasNextLong方法,next方法,不懂的可以先不管,这里你只要知道可以传入一个文件作为扫描对象)

while (s.hasNext()) {

long aLong = s.next();

}

3.传入一个Path对象

Scanner s = new Scanner(new Path("/Users/zazalu/lalala.txt"));  ---->windows系统应该是\\Users\\zazalu\\lalala.txt,这里我只是凭经验写出来的路径,不行的话,你们自行百度下把:)

传入的Path对象所指向的文件,就会被Scanner扫描

4.传入一个Readable对象(感觉不常用,暂时不讲)

[1]Method ------方法之说

1.next(),nextInt(),nextLong(),nextLine() ........

比如我们在控制台输入为123 123

Scanner s = new Scanner(System.in);

System.out.println(s.next());

System.out.println(s.next());

上面的输出便是

123

123

如果你使用的是nextLine(),那么输出就会变成

123 123

注意点:除了nextLine(),其它nextXXX()默认采用空格进行分割!记住是空格分割!nextLine()应该是判断一行的末尾来进行分割

2.hasNext(),hasNextInt(),hasNextLong(),hasNextLine()......

方法含义:在Scanner传入的字符串中,是否有下一个String,Int,Long,等等等,有的话就返回true,没有就false

所以当我们要处理好几个String输入,或者好几个int值输入的时候,就可以这么用

Scanner s = new Scanner(“123 123”);

while (sc.hasNextInt()) {

System.out.printlin(s.nextInt());

}

输出为

123

123

3.其实上面讲的next和hasNext类别的方法,还接收一个radix参数,radix参数是什么呢?最常用的radix参数就是,2,10,16。这个radix代表二进制,十进制或者十六进制等

使用例子:将一个二进制数通过Scanner变成十进制数

Scanner s = new Scanner("1111");

System.out.println(s.nextInt(2));

输出为15

4. delimiters pattern ------分割模式

Scanner默认以空格进行分割!

当然大大们给我们api进行修改

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();   //关闭这个Scanner!

输出为

1

2

red

blue

5.还有一个findInLine方法,想知道的自己去研究吧,这里不探讨了


好吧,Scanner就先说到这里了~

转载于:https://www.cnblogs.com/zazalu/p/5862726.html

[Java基础]Scanner的使用(秋招在线笔试高频使用)版本:Java™ Platform Standard Ed. 8...相关推荐

  1. 2019年字节跳动2020届秋招在线笔试真题(后端开发工程师)

    2019年字节跳动2020届秋招在线笔试真题(后端开发工程师) 第一题 第二题 第三题 第四题 第一题 第二题 第三题 第四题 字节跳动的题,对于我这个菜鸟来说确实很难,对一半都做不到.还得继续努力啊 ...

  2. 2019年中兴秋招在线笔试题目

    2019年中兴秋招在线笔试题目 只记得两个编程题: 第一个比较简单,原题是:一位老师获得两个分数列表,同时有两个班的人数.要求是将两个列表进行合并并排序. 第二个中等难度,彩票问题:给出一个彩票列表, ...

  3. 爱奇艺 2021秋招在线笔试

    题目描述 一个已经用分词算法分好词的中文句子,由于分词算法有一定的错误率使得某些词汇没有正确分词,所以希望用一个词典中的词去进行匹配并把句中所有能完全匹配上的字符串强行改成一个词,但其它不受影响的分词 ...

  4. 23届秋招阿里笔试算法题

    import java.util.Scanner;//23届秋招阿里笔试第一题:二进制求解(100%) public class Main1 {public static void f1(int n) ...

  5. 23届秋招百度笔试算法题

    import java.util.Scanner;//23届秋招百度笔试第一题:暴力(100%) public class Main10 {public static void main(String ...

  6. 2021.8.21 网易秋招开发笔试(题目 + java代码)

    2021.8.21 网易秋招开发笔试 一.题目: 二.程序 //采用的是深度优先搜索 import java.util.HashMap;public class wangyi {public stat ...

  7. 2017计算机在线作业二,《计算机应用基础》2017年秋学期在线作业(二)满分答案...

    <计算机应用基础>2017年秋学期在线作业(二) 试卷总分:100 得分:100 一.单选题 1.在Word的编辑状态,设置了一个由多个行和列组成的空表格,将插入点定在某个单元格内,右击该 ...

  8. 福师2018计算机应用基础,中石油华东《计算机应用基础》2018年秋学期在线作业100分答案满分...

    <计算机应用基础>2018年秋学期在线作业(一) 共题,总分:100分 时间:30分0秒 答题中 分一.单选题共20题,100分 15分 在Windows中,"写字板" ...

  9. 数据分析真题日刷 | 招商银行信用卡中心2019秋招IT笔试(数据挖掘方向第二批)

    进入「数据分析真题日刷」系列第10篇 ⬇️ 今日真题 招商银行信用卡中心2019秋招IT笔试(数据挖掘方向第二批) (来源:牛客网) 题型 客观题:单选30道 主观题:问答4道 完成时间 120分钟 ...

最新文章

  1. 面试官:连YOLO都搞不定,是自己走还是我送你
  2. 鸿蒙系统比比安卓系统好么,鸿蒙系统与安卓系统的区别 鸿蒙系统与安卓系统哪个更好...
  3. 关于欧盟的芯片法案,ASML是这样看的!
  4. BibTex (.bib) 文件的凝视
  5. hbase rest api接口链接管理【golang语言版】
  6. LeetCode算法
  7. Oracle 无备份情况下的恢复--临时文件/在线重做日志/ORA-00205
  8. java中cookie怎么用_java 中session和cookie的使用
  9. vuex-token的持久化
  10. NFC:Arduino、Android与PhoneGap近场通信
  11. matlab 柱状图 折线图,数据可视化分析(柱状图、折线图、热力图)
  12. 华北科技计算机组成原理,华北科技学院—《计算机组成原理》设计性实验报告.doc...
  13. 自制固件iOS4.1刷机、解锁教程
  14. 【Android进阶】Android仿淘宝商品浏览滑(拖)动查看详情界面
  15. 单片机---HLK-W801移植Nes模拟器(二)
  16. sin35 在C语言中怎么表示,sin35度等于多少
  17. 设计并实现“恺撒密码”--简单版
  18. Hooks详解(一)
  19. 信息技术助推智能建造和建筑企业数字化转型
  20. 有趣的题目:简单深搜之数独与靶型数独--二进制状压加速与dfs数独剪枝

热门文章

  1. Android Cordova 对于软键盘弹出后覆盖输入域的解决
  2. 分析 AIX 和 Linux 性能工具nmon
  3. iOS 5与iOS 6的 low-memory 处理(转自cocoaChina)
  4. hbase参数配置及优化
  5. hive 中文comment乱码解决
  6. android 搜索框 github,Github上Android简单好用的提示框推荐 | 夕辞
  7. java 嵌套类 继承_Java嵌套类 - 爱吃苹果的搬运工的个人空间 - OSCHINA - 中文开源技术交流社区...
  8. Python编程语言基础入门教程
  9. python之开发系列
  10. python机械臂api_使用高斯机械臂的API开发