java之Scanner详解
来源:互联网 发布:大数据选股app 编辑:程序博客网 时间:2024/05/21 11:30
刷题过程中遇到数据的读入扫描,发现网上资料比较杂,总结下。
1.包:
import java.util.Scanner
2.使用方法:
Scanner reader=new Scanner(System.in);
然后reader对象调用下列方法(函数),读取用户在命令行输入的各种数据类型:
nextByte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShort()
注:上面由next()方法转化而来,空格,TAB快结束
上述方法执行时都会造成堵塞,等待用户在命令行输入数据回车确认.
例如,拥护在键盘输入
12.34,hasNextFloat()的值是true,而hasNextInt()的值是false. NextLine()等待用户输入一个文本行并且回车,该方法得到一个String类型的数据。相比nextLine()回车确认,按照行读为string
3.实例
//逐行扫描文件,并逐行输出public static void main(String[] args) throws FileNotFoundException { InputStream in = new FileInputStream(new File("C:\\AutoSubmit.java")); Scanner s = new Scanner(in); while(s.hasNextLine()){ System.out.println(s.nextLine()); } }
//all outimport java.util.Scanner;public class testNextline { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("请输入字符串:"); while (true) { String line = s.nextLine(); if (line.equals("exit")) break; System.out.println(">>>" + line); } } }
//next(), <span style="font-size:18px;">nextByte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShort() //用法类似</span>import java.util.Scanner;public class hasNextInt { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("请输入一个整数"); while(in.hasNextInt()){ int num = in.nextInt(); System.out.println("数字"+num);//输入123 12只能读到123 System.out.println("请输入一个字符串"); String str = in.next();//输入 adc cv只能读到adc System.out.println("字符串"+str); } }}
4.其他相关方法
下面这几个相对实用:
delimiter()
返回此 Scanner 当前正在用于匹配分隔符的 Pattern。
返回此 Scanner 当前正在用于匹配分隔符的 Pattern。
public static void main(String[] args) throws FileNotFoundException { Scanner s = new Scanner("123 asda bf 12 123 nh l,sf.fl ...adafafa lda"); // s.useDelimiter(" |,|\\."); while (s.hasNext()) { System.out.println(s.next()); } }
123asdabf12123nhl,sf.fl...adafafalda
hasNext()
判断扫描器中当前扫描位置后是否还存在下一段。(原APIDoc的注释很扯淡)
hasNextLine()
如果在此扫描器的输入中存在另一行,则返回 true。
next()
查找并返回来自此扫描器的下一个完整标记(String)。
nextLine()
此扫描器执行当前行,并返回跳过的输入信息。
5. 一个读写实例
import java.util.Scanner;public class test{ public static int getCount(String str,char c){ int count = 0; if(str != null && str.length() > 0){ for(int i = 0;i < str.length();i++){ if(c == str.charAt(i)){ count++; } } }else{ count = 0; } return count; } public static void main(String[] args){ Scanner s = new Scanner(System.in); String str = s.next(); char c = s.next().charAt(0); int i = getCount(str,c); System.out.println(i); }}
0 0
- java之Scanner详解
- java Scanner详解
- Java Scanner用法详解
- 详解java.util.Scanner
- JAVA Scanner用法详解
- Java Scanner用法详解
- Java Scanner用法详解
- scanner:java的scanner类详解
- JAVA之简单scanner
- Java学习之Scanner
- java.util.Scanner应用详解
- java.util.Scanner应用详解
- java.util.Scanner应用详解
- java.util.Scanner应用详解
- java.util.Scanner应用详解
- java.util.Scanner应用详解
- java.util.Scanner应用详解
- java.util.Scanner应用详解
- android中listview紧接着Button按钮,发现最后一条item没有下横线??
- 希尔排序
- 【杭电oj】1220 - Cube(数学水题)
- 第七周项目1—两点间的距离(成员函数)
- 网页监控系统设计之使用mjpg-streamer
- java之Scanner详解
- 初衷
- 正则表达式基本语法
- getLeft,getTop,getRight,getBottm区别
- iOS中 HTTP/Socket/TCP/IP通信协议详
- 编程珠玑_磁盘中无重复大量整数数据排序限制内存借助位图
- dubbo源码分析-consumer端4-ClusterInvoker与LoadBalance
- Mac 10.11 android6.0源码编译
- 学习java第二周