2018-07-24 13:23:18

Scanner类

一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器

 1 package cn.itcast_01;
 2
 3 /*
 4  * Scanner:用于接收键盘录入数据。
 5  *
 6  * 前面的时候:
 7  *         A:导包
 8  *         B:创建对象
 9  *         C:调用方法
10  *
11  * System类下有一个静态的字段:
12  *         public static final InputStream in; 标准的输入流,对应着键盘录入。
13  *
14  *         InputStream is = System.in;
15  *
16  * class Demo {
17  *         public static final int x = 10;
18  *         public static final Student s = new Student();
19  * }
20  * int y = Demo.x;
21  * Student s = Demo.s;
22  *
23  *
24  * 构造方法:
25  *         Scanner(InputStream source)
26  */
27 import java.util.Scanner;
28
29 public class ScannerDemo {
30     public static void main(String[] args) {
31         // 创建对象
32         Scanner sc = new Scanner(System.in);
33
34         int x = sc.nextInt();
35
36         System.out.println("x:" + x);
37     }
38 }

 1 package cn.itcast_02;
 2
 3 import java.util.Scanner;
 4
 5 /*
 6  * 基本格式:
 7  *         public boolean hasNextXxx():判断是否是某种类型的元素
 8  *         public Xxx nextXxx():获取该元素
 9  *
10  * 举例:用int类型的方法举例
11  *         public boolean hasNextInt()
12  *         public int nextInt()
13  *
14  * 注意:
15  *         InputMismatchException:输入的和你想要的不匹配
16  */
17 public class ScannerDemo {
18     public static void main(String[] args) {
19         // 创建对象
20         Scanner sc = new Scanner(System.in);
21
22         // 获取数据
23         if (sc.hasNextInt()) {
24             int x = sc.nextInt();
25             System.out.println("x:" + x);
26         } else {
27             System.out.println("你输入的数据有误");
28         }
29     }
30 }

 常用的两个方法

public  int  nextInt(); 获取一个int类型的值

public  String  nextLine();获取一个String类型的值

先获取一个数值,后获取一个字符串会出现小问题?

主要原因就是,那个换行符号的问题【Enter】

解决方案:

  A:先获取一个数值后,再创建一个新的键盘录入对象获取字符串。

  B:把所有的数据按照字符串获取,然后要什么就对应转换为什么

 1 package cn.itcast_03;
 2
 3 import java.util.Scanner;
 4
 5 /*
 6  * 常用的两个方法:
 7  *         public int nextInt():获取一个int类型的值
 8  *         public String nextLine():获取一个String类型的值
 9  *
10  * 出现问题了:
11  *         先获取一个数值,在获取一个字符串,会出现问题。
12  *         主要原因:就是那个换行符号的问题。
13  * 如何解决呢?
14  *         A:先获取一个数值后,在创建一个新的键盘录入对象获取字符串。
15  *         B:把所有的数据都先按照字符串获取,然后要什么,你就对应的转换为什么。
16  */
17 public class ScannerDemo {
18     public static void main(String[] args) {
19         // 创建对象
20         Scanner sc = new Scanner(System.in);
21
22         // 获取两个int类型的值
23         // int a = sc.nextInt();
24         // int b = sc.nextInt();
25         // System.out.println("a:" + a + ",b:" + b);
26         // System.out.println("-------------------");
27
28         // 获取两个String类型的值
29         // String s1 = sc.nextLine();
30         // String s2 = sc.nextLine();
31         // System.out.println("s1:" + s1 + ",s2:" + s2);
32         // System.out.println("-------------------");
33
34         // 先获取一个字符串,在获取一个int值
35         // String s1 = sc.nextLine();
36         // int b = sc.nextInt();
37         // System.out.println("s1:" + s1 + ",b:" + b);
38         // System.out.println("-------------------");
39
40         // 先获取一个int值,在获取一个字符串
41         // int a = sc.nextInt();
42         // String s2 = sc.nextLine();
43         // System.out.println("a:" + a + ",s2:" + s2);
44         // System.out.println("-------------------");
45
46         int a = sc.nextInt();
47         Scanner sc2 = new Scanner(System.in);
48         String s = sc2.nextLine();
49         System.out.println("a:" + a + ",s:" + s);
50     }
51 }

转载于:https://www.cnblogs.com/twinkle-star/p/9356684.html

LY.JAVA.DAY12.Scanner相关推荐

  1. java的scanner用法_Java Scanner用法详解

    一.Scanner类简介 Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序.它是以前的StringTokenizer和Matcher类之间的某种结合.由于 ...

  2. java之Scanner

    参考http://how2j.cn/k/operator/operator-scanner/658.html#nowhere 需要用到从控制台输入数据,所以需要用到Scanner类 使用Scanner ...

  3. java中scanner if用法_Java通过Scanner了解if...else if语句

    这篇文章主要介绍了Java通过Scanner了解if...else if语句,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用Scanner类(控 ...

  4. java 10-4 Scanner方法

    Scanner:用于接收键盘录入数据   常用的两个方法(int举例): public int nextInt():获取一个int类型的值 public String nextLine():获取一个S ...

  5. 十三、深入Java的Scanner类

    @Author:Runsen @Date:2020/5/23 本专栏是付费学Java专栏,今天我们来说一下Java的Scanner类,其中Java的Scanner类就Python中的input方法.它 ...

  6. java调用reader的nextInt_Java中如何从键盘输入内容: import java.util.Scanner; .nextLine(); .hasNextInt();...

    import java.util.Scanner; public class Reader { public static void main(String[] args) { Scanner sca ...

  7. java的scanner的方法_Java Scanner reset()方法

    Java Scanner reset()方法 java.util.Scanner.reset() 方法重置该扫描仪.重设scanner 丢弃所有的这些可能已被useDelimiter(java.uti ...

  8. java.util.scanner sc_关于Java的Scanner的问题,菜鸟求各大神解答

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 package leetcode; import java.util.ArrayList; import java.util.Collections; i ...

  9. java中Scanner类中 next()与nextLine()的区别

    问题:提示用户输入一个英文字符串或者要解密的字符串,然后通过扫描仪获取用户输入的字符串,经过加密或者解密后,把字符串输出. import java.util.Scanner;public class ...

  10. java用scanner 和random的一个小案例

    import java.util.ArrayList;/*** 存放单词的实体类,为附体类,需要运行mymain 主入口*/ public class Entity {private String e ...

最新文章

  1. 为什么大部分人做不了架构师?
  2. 《部署IPv6网络(修订版)》一2.4 邻居发现协议
  3. python穷举法搬砖_python 穷举法 算24点(史上最简短代码)-阿里云开发者社区
  4. 【存储知识学习】第三章磁盘原理与技术3.1磁盘结构--《大话存储》阅读笔记
  5. 看“意大利文艺复兴艺术展”(1)
  6. 5.3linux下C语言socket网络编程简例
  7. 支付牌照再获成功续展!支付宝:感谢央行的信任和认可
  8. python培训班-Python培训班哪家好?
  9. ubuntu 下 imagick PHP扩展的安装
  10. 使用Net::DNS CPAN模块模拟一个DNS CNAME应答记录
  11. Mysql实战练习之简单图书管理系统
  12. 软考网络工程师考试大纲(2018年最新版)
  13. 写给零基础入坑蓝桥杯的同学
  14. HTML代码 网页设置 QQ空间等分享
  15. tk域名管理后台_Freenom免费域名.TK、.CF、.ML、.GA注册及使用方法
  16. php中大于等于的表示方法,php大于等于符号
  17. 【前端面经】面试:最快最全面的渗透应聘者真实水平
  18. 网页加速之Chromium 预加载 Prerendering
  19. tp5 上传路径反斜杠的问题 ,反斜杠json_decode函数输出出错的
  20. scp命令上传文件到服务器

热门文章

  1. 【J2EE】在项目中理解J2EE规范
  2. 忘记mysql密码 重置密码
  3. 人人都是 DBA(II)SQL Server 元数据 (转)
  4. Python学习资源收集
  5. 使用 Document!X 为自己的dll生成一个漂亮的说明文档
  6. 今天去火车站送女朋友了
  7. springsecurity3的验证过程
  8. [C#] 控制系统音量-第一章
  9. android camera无预览拍照 后台拍照
  10. elementui的表格在使用v-if之后列的顺序错乱问题