java.util.Scanner应用详解_

上传人:一** 文档编号:25759742 上传时间:2021-07-31 格式:DOCX 页数:12 大小:15.06KB
收藏 版权申诉 举报 下载
java.util.Scanner应用详解__第1页
第1页 / 共12页
java.util.Scanner应用详解__第2页
第2页 / 共12页
java.util.Scanner应用详解__第3页
第3页 / 共12页
资源描述:

《java.util.Scanner应用详解_》由会员分享,可在线阅读,更多相关《java.util.Scanner应用详解_(12页珍藏版)》请在装配图网上搜索。

1、java.util.Scanner应用详解_ java.util.Scanner猎取输入的整数,长整型,字符串等: 代码如下: /package com.color.program.ball; import java.util.Scanner; public class ScannerTest public static void main(String args) Scanner s = new Scanner(System.in); /receive string String str = s.next(); /receive integer Integer i = s.nextInt()

2、; /receive double Double d = s.nextDouble(); System.out.println(str+i+d); 如用三元运算符推断一个数是奇数还是偶数: import java.util.Scanner; public class Ou public static void main(String args) System.out.println(请输入一个整数:); Scanner reader = new Scanner(System.in); long a = reader.nextLong(); String str = (a%2 )=0 ? 偶数:

3、奇数; System.out.println(结果是:+str); 一、扫描掌握台输入 这个例子是经常会用到,但是假如没有Scanner,你写写就知道多难过了。 当通过new Scanner(System.in)创建一个Scanner,掌握台会始终等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象。假如要猎取输入的内容,则只需要调用Scanner的nextLine()方法即可。 代码如下: /* * 扫描掌握台输入 * * author leizhimin 2021-7-24 11:24:47 */ public class TestScanner public sta

4、tic 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); 请输入字符串: 234 234 wer wer bye bye exitProcess finished with exit code 0 先写这里吧,有空再连续完善。 二、假如说Scanner用法简便,不如说Scan

5、ner的构造器支持多种方式,构建Scanner的对象很便利。 可以从字符串(Readable)、输入流、文件等等来挺直构建Scanner对象,有了Scanner了,就可以逐段(依据正则分隔式)来扫描整个文本,并对扫描后的结果做想要的处理。 代码如下: package test; import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; import java.util.regex.MatchResult; public class TestScanner public static

6、void main(String args) throws FileNotFoundException / 键盘输入 Scanner sc = new Scanner(System.in); System.out.println(sc.nextInt(); System.out.println(-); / 文本扫描 Scanner sc2 = new Scanner(new File(D:/1.txt); while (sc2.hasNextDouble() System.out.println(sc2.nextDouble(); System.out.println(-); / 正则解析 S

7、tring input = 1 fish 2 fish red fish blue fish; Scanner s = new Scanner(input).useDelimiter(s*fishs*); System.out.println(s.nextInt(); System.out.println(s.nextInt(); System.out.println(s.next(); System.out.println(s.next(); s.close(); System.out.println(-); / 正则-匹配组 String input2 = 1 fish 2 fish re

8、d fish blue fish; Scanner s2 = new Scanner(input2); s2.findInLine(d+) fish (d+) fish (w+) fish (w+); MatchResult result = s2.match(); for (int i = 1; i = result.groupCount(); i+) System.out.println(result.group(i); s.close(); 以下代码使 long 类型可以通过 myNumbers 文件中的项安排: 代码如下: Scanner sc = new Scanner(new Fi

9、le(myNumbers); while (sc.hasNextLong() long aLong = sc.nextLong(); 三、Scanner默认用法空格作为分割符来分隔文本,但允许你指定新的分隔符(支持正则表达式) 用法默认的空格分隔符: 代码如下: public static void main(String args) throws FileNotFoundException Scanner s = new Scanner(123 asdf sd 45 789 sdf asdfl,sdf.sdfl,asdf .asdfkl las); / s.useDelimiter( |,|

10、.); while (s.hasNext() System.out.println(s.next(); 123 asdf sd 45 789 sdf asdfl,sdf.sdfl,asdf .asdfkl lasProcess finished with exit code 0 将说明行去掉,用法空格或逗号或点号作为分隔符,输出结果如下: 123 asdf sd 45 789 sdf asdfl sdf sdfl asdfasdfkllas Process finished with exit code 0 再来个例子,依据pattern字符串来匹配 代码如下: package test; i

11、mport java.util.Scanner; import java.util.regex.MatchResult; public class TestScanner2 public static void main(String args) String data = n + n + n + n + Next log section with different format; Scanner s = new Scanner(data); String pattern = (d+.d+.d+.d+)(d1,2/d1,2/d4); while(s.hasNext(pattern) s.ne

12、xt(pattern); MatchResult mr = s.match(); System.out.format(ip = %-15s, data= %10sn, mr.group(1), mr.group(2); useDelimiter(Pattern pattern)这个方法是Scanner中用于设置分隔符的,默认状况下scanner分割符是空格,你这 个程序中就是用正则表达式来设置分隔符,s*fishs*前面的一个s*表示空格消失0次或多次接着消失fish接着消失0个或多个空 格,只要scanner扫描遇到的数据符合这个正则表达式,前面的就当一个数据就可以用Scanner中的nex

13、t()返回取得数据。 代码如下: /output ip = 127.0.0.1nbsp;nbsp;nbsp;nbsp;nbsp; , data= 21/10/2021 ip = 128.0.0.11nbsp;nbsp;nbsp;nbsp; , data=nbsp; 3/11/2021 ip = 129.132.111.111, data=nbsp;nbsp; 4/2/2021 ip = 130.0.0.1nbsp;nbsp;nbsp;nbsp;nbsp; , data=nbsp; 15/1/2021 总结:1)多种输入,File,input,System.in,String等 2)与正则结合用

14、法 3)实现了Iterator接口 四、一大堆API函数,有用的没几个 (许多API,说明很让人迷惑,几乎毫无用处,这个类就这样被糟蹋了,启了很不错的名字,事实上做的全是龌龊事) 下面这几个相对有用: delimiter() 返回此 Scanner 当前正在用于匹配分隔符的 Pattern。 hasNext() 推断扫描器中当前扫描位置后是否还存在下一段。(原APIDoc的说明很扯淡) hasNextLine() 假如在此扫描器的输入中存在另一行,则返回 true。 next() 查找并返回来自此扫描器的下一个完整标记。 nextLine() 此扫描器执行当前行,并返回跳过的输入信息。 五、逐

15、行扫描文件,并逐行输出 看不到价值的扫描过程 代码如下: 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(); package own; import java.io.BufferedReader; import java

16、.io.BufferedWriter; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import .HttpURLConnection; import .ProtocolException; import .URL; import com.verisign.uuid.UUID; /* * author wangpeng * */ public class AutoSubmit /* * param args * throws Exception */ public static void main(String args) throws Exception .在此省略N行 Process finished with exit code 0 更多信息请查看IT技术专栏 .

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!