Scanner类是JDK5新添加的一个类,主要作用是处理输入流、文件和文本内容等 。
这个类在java.util包里面,实现了Iterator接口,而且io处理采用了jdk1.4才发布的nio。
由于这个类实现了Iterator接口,如果全部是string的话,就可以采用next(),hasnext()来进行迭代,就像是迭代一个字符串集合一样。如果处理的内容不是string的话,这个类也提供了nextXXX(),hasNextXXX()方法,处理十分方便。
下面分别讲一下怎么处理输入流、文件和文本
1.输入流处理:
/** 输入流demo */
public static void inputStreamDemo() {
    System.out.println("please input int & double:");
    Scanner cin = new Scanner(System.in);
    int inputInt = cin.nextInt();
    double inputDouble = cin.nextDouble();
    System.out.printf("inputInt:%d\n", inputInt);
    System.out.printf("inputDouble:%f\n\n", inputDouble);
}
首先声明Scanner cin = new Scanner(System.in);,然后调用Scanner的nextInt和nextDouble接受来自控制台输入的int和double。
2.文件处理:
/** 文件demo */
public static void fileDemo() throws Exception{
    System.out.println("fileDemo:");
    Scanner cin = new Scanner(new File("scannerDemo"));
    while(cin.hasNextLine()){
     System.out.println(cin.nextLine());
    }
    cin.close();
    System.out.println();
}
如果是文件输入流的话,就不用取得一个输入流的,只需要新建一个file传入Scanner的构造参数就行了。hasNextLine和nextLine方法可以发现和Iterator的函数相当类似。
注意如果处理文件的话,处理完毕一定要关闭文件。如果需要处理一个文件的话,用这个类不止代码上复杂度有所减少,而且采用了nio,所以性能上也有保证。
3.文本处理
/** string demo*/
public static void stringDemo() {
    System.out.println("stringDemo:");
    String str="10 9 stringDemo 9.8";
    Scanner cin = new Scanner(str);
    System.out.println("inputInt:"+cin.nextInt());
    System.out.println("inputInt:"+cin.nextInt());
    System.out.println("inputString:"+cin.next());
    System.out.println("inputDouble:"+cin.nextDouble());
}
这个用法和输入流的基本类似,区别就是构造函数而已。

hobo 2008-04-28 21:21 发表评论

转载于:https://www.cnblogs.com/zhouweiwei/archive/2008/04/28/1866505.html

Scanner--控制台输入相关推荐

  1. java零基础第四天 if分支结构和Scanner控制台输入 最后有作业

    if分支结构 1. 代码运行过程中的常见结构 顺序结构代码从上到下,从左至右执行,最基本原则.分支结构路上的风景不一样,向左走向右走结果不一样.代码满足不同的条件,执行不同的结果循环结构吃饭,睡觉,撸 ...

  2. scanner 获取控制台信息_Java使用Scanner类进行控制台输入实现方法

    在Java中,不像Python一样直接用个input()就行的.Java控制台输入比较麻烦,下面是比较易懂的教程. 首先,新建一个调用Java的Scanner(扫描仪)的类,新建main方法. imp ...

  3. java控制台输入 scanner_java控制台输入Scanner、InputStreamReader、Console说明

    0 引言 从控制台中读取数据是一个比较常用的功能,在 JDK 5.0 以前的版本中的实现是比较复杂的,需要手工处理系统的输入流.有意思的是,从 JDK 5.0 版本开始,能从控制台中输入数据的方法每增 ...

  4. 7、Java基础——从控制台输入:Scanner类的的用法、数据类型转换、字符型的运算、print与println的区别、Java中的转义字符

    目录 课前先导 一.Scanner类的用法 二.Scanner语句分析 1.Scanner类 2.Scanner sc = new Scanner(System.in) 3.Scanner获取不同类型 ...

  5. 控制台输入类java.util.Scanner

    canner类最实用的地方表现在获取控制台输入.当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,把所输入的内容传给Scanner,作为扫描对象.如果要获 ...

  6. 循环获取控制台输入scanner.nextLine()问题

    循环获取控制台输入scanner.nextLine()问题 直接上代码 public static void main(String[] args) {Scanner scanner = new Sc ...

  7. java中控制台输入二维数组(Scanner类总结)

    由于牛客和LeetCode上的题目不用自己写输入,但实际笔试中都需要从输入开始写,遇到需要从控制台输入二维数组的情况,故对java中的Scanner类作整理和总结. 通过 Scanner 类能获取用户 ...

  8. java控制台两个字符串_java控制台输入字符串

    实验要求: 1/7 1.掌握 JDK 的安装及参数配置方法,能在控制台界面使用 Java 命令进行 Java 程序的编译及运行. 2.掌握 Eclipse 软件安装方法.3.掌握在 ...... 习题 ...

  9. JDK5中的控制台输入

    Scanner类是JDK5新添加的一个类,主要作用是处理输入流.文件和文本内容等 . 这个类在java.util包里面,实现了Iterator接口,而且io处理采用了jdk1.4才发布的nio. 由于 ...

  10. java控制台next_java读取控制台输入以及next() ,nextLine(), nextInt() 和nextDouble()的比较...

    (1)读取控制台输入 java的控制台输入由System.in完成. 为了得到一个绑定到控制台的字符流,你能够把System.in包装在一个BufferedReader对象中建立一个字符流.html ...

最新文章

  1. uImage和zImage的区别
  2. 记录一些使用git过程中的bug
  3. linux-VM无法连接mks套接字连接尝试次数太多
  4. SQL Server 2005两本教程案例数据库
  5. vfp 连接mysql数据库_Visual FoxPro操作数据库之函数大全
  6. mysql建表时创建索引语句_创建表的时候创建索引
  7. 5G 时代真的来了,你准备好了吗?
  8. MULTISIM仿真
  9. 经纬度(度分秒)和十进制相互转换
  10. 白盒测试和黑盒测试的区别
  11. oracle siebel crm 8.0,Solix实现Oracle Siebel CRM 8.1整合
  12. 《零基础学C语言》前言
  13. MIT的计算机系课程设置
  14. Android 自定义TabLayout
  15. 亮度饱和度和对比度的计算
  16. 安装nvm,配置nvm源,配置npm源
  17. 1x pcie 速度_利用起闲置的PCIe 1x空间:PCIe 1x的SATA扩展卡,内置2.5寸盘位
  18. python 实现ssh爆破
  19. MariaDB的安装步骤
  20. EXCEL Comapre工具使用说明

热门文章

  1. c程序语言编写 计算器,C语言编写简单计算器
  2. java中table属性_div实现table功能
  3. elementui带输入建议查询_知道Profiler是什么吗?带你了解SQL Server的性能优化工具...
  4. halcon像素统计_Halcon一日一练:图像分辨率与像素
  5. 正态分布的前世今生:正态分布的进一步发展
  6. c++冒泡排序_python+C、C++混合编程的应用
  7. pta 是否完全二叉搜索树_23.二叉搜索树的后序遍历序列
  8. 全景视频拼接(一)--关键技术流程
  9. python中reversed函数,Python3
  10. html5页面的手势,HTML5单页面手势滑屏切换如何实现