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 ...
最新文章
- 文巾解题 27. 移除元素
- 中计算散度的函数_荷畔微风 - 在函数计算FunctionCompute中使用WebAssembly
- java的比较器_java两种比较器总结
- 使用GUI工具Portainer.io管控Docker容器
- python常见面试题目(面试官最爱问的python面试题)
- 教程视图Android教程(十三)-- Activity间的切换
- android 连续调用方法是,android – SwitchPreferences多次调用onPreferenceChange()方法
- Map按照key的ASCII码排序
- win7 C盘满如何清理
- fms安装教程 linux_[AS3]linux64下安装FMS5.0的方法
- 贝尔商道赚钱思维36道第04道:二八定律,约仅有20%的因素影响80%的结果
- HTML如何设置四边形,css实现三角形和平形四边形
- linux系统可以用autocad吗,在Linux操作系统下最佳的五款CAD软件
- 安卓指纹支付(指纹识别)
- 计算机职称照图片,职称计算机xp系统知识:插入图片、艺术字、图示
- 如何在cmd中运行PHP
- Altium Designer--如何隐藏连线
- 设置计算机id管理员默认密码是多少钱,路由器默认(初始)管理员登录密码是多少?...
- 常用音频编码格式简介(PCM、G726、ADPCM、LPCM、G711、AAC)
- matlab自带滤波器函数
热门文章
- html箭头实现流程箭头,js实现带箭头的进度流程
- python pytest setupclass_python – Pytest – 如何将参数传递给setup_class?
- 飞磨科技php,昆虫飞行信息系统(飞行磨)
- 汉生机器人_2019高工机器人核心零部件会议
- java2实用教程第四版实验指导_Java2实用教程(第4版)实验指导与习题解答_IT168文库(精)...
- 史上最全Java集合关系图
- python装饰器与闭包_Python:函数装饰器和闭包
- 运筹优化(十六)--排队论基础及其最优化求解
- 人脸对齐(六)--ERT算法
- 系统学习深度学习(十三)--Batch Normalization