Scanner--控制台输入
这个类在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());
}
这个用法和输入流的基本类似,区别就是构造函数而已。
转载于:https://www.cnblogs.com/zhouweiwei/archive/2008/04/28/1866505.html
Scanner--控制台输入相关推荐
- java零基础第四天 if分支结构和Scanner控制台输入 最后有作业
if分支结构 1. 代码运行过程中的常见结构 顺序结构代码从上到下,从左至右执行,最基本原则.分支结构路上的风景不一样,向左走向右走结果不一样.代码满足不同的条件,执行不同的结果循环结构吃饭,睡觉,撸 ...
- scanner 获取控制台信息_Java使用Scanner类进行控制台输入实现方法
在Java中,不像Python一样直接用个input()就行的.Java控制台输入比较麻烦,下面是比较易懂的教程. 首先,新建一个调用Java的Scanner(扫描仪)的类,新建main方法. imp ...
- java控制台输入 scanner_java控制台输入Scanner、InputStreamReader、Console说明
0 引言 从控制台中读取数据是一个比较常用的功能,在 JDK 5.0 以前的版本中的实现是比较复杂的,需要手工处理系统的输入流.有意思的是,从 JDK 5.0 版本开始,能从控制台中输入数据的方法每增 ...
- 7、Java基础——从控制台输入:Scanner类的的用法、数据类型转换、字符型的运算、print与println的区别、Java中的转义字符
目录 课前先导 一.Scanner类的用法 二.Scanner语句分析 1.Scanner类 2.Scanner sc = new Scanner(System.in) 3.Scanner获取不同类型 ...
- 控制台输入类java.util.Scanner
canner类最实用的地方表现在获取控制台输入.当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,把所输入的内容传给Scanner,作为扫描对象.如果要获 ...
- 循环获取控制台输入scanner.nextLine()问题
循环获取控制台输入scanner.nextLine()问题 直接上代码 public static void main(String[] args) {Scanner scanner = new Sc ...
- java中控制台输入二维数组(Scanner类总结)
由于牛客和LeetCode上的题目不用自己写输入,但实际笔试中都需要从输入开始写,遇到需要从控制台输入二维数组的情况,故对java中的Scanner类作整理和总结. 通过 Scanner 类能获取用户 ...
- java控制台两个字符串_java控制台输入字符串
实验要求: 1/7 1.掌握 JDK 的安装及参数配置方法,能在控制台界面使用 Java 命令进行 Java 程序的编译及运行. 2.掌握 Eclipse 软件安装方法.3.掌握在 ...... 习题 ...
- JDK5中的控制台输入
Scanner类是JDK5新添加的一个类,主要作用是处理输入流.文件和文本内容等 . 这个类在java.util包里面,实现了Iterator接口,而且io处理采用了jdk1.4才发布的nio. 由于 ...
- java控制台next_java读取控制台输入以及next() ,nextLine(), nextInt() 和nextDouble()的比较...
(1)读取控制台输入 java的控制台输入由System.in完成. 为了得到一个绑定到控制台的字符流,你能够把System.in包装在一个BufferedReader对象中建立一个字符流.html ...
最新文章
- uImage和zImage的区别
- 记录一些使用git过程中的bug
- linux-VM无法连接mks套接字连接尝试次数太多
- SQL Server 2005两本教程案例数据库
- vfp 连接mysql数据库_Visual FoxPro操作数据库之函数大全
- mysql建表时创建索引语句_创建表的时候创建索引
- 5G 时代真的来了,你准备好了吗?
- MULTISIM仿真
- 经纬度(度分秒)和十进制相互转换
- 白盒测试和黑盒测试的区别
- oracle siebel crm 8.0,Solix实现Oracle Siebel CRM 8.1整合
- 《零基础学C语言》前言
- MIT的计算机系课程设置
- Android 自定义TabLayout
- 亮度饱和度和对比度的计算
- 安装nvm,配置nvm源,配置npm源
- 1x pcie 速度_利用起闲置的PCIe 1x空间:PCIe 1x的SATA扩展卡,内置2.5寸盘位
- python 实现ssh爆破
- MariaDB的安装步骤
- EXCEL Comapre工具使用说明
热门文章
- c程序语言编写 计算器,C语言编写简单计算器
- java中table属性_div实现table功能
- elementui带输入建议查询_知道Profiler是什么吗?带你了解SQL Server的性能优化工具...
- halcon像素统计_Halcon一日一练:图像分辨率与像素
- 正态分布的前世今生:正态分布的进一步发展
- c++冒泡排序_python+C、C++混合编程的应用
- pta 是否完全二叉搜索树_23.二叉搜索树的后序遍历序列
- 全景视频拼接(一)--关键技术流程
- python中reversed函数,Python3
- html5页面的手势,HTML5单页面手势滑屏切换如何实现