码迷,mamicode.com
首页 > 其他好文 > 详细

Scanner类

时间:2018-10-27 16:11:25      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:tin   col   boolean   string   style   else   出现   system类   原因   

* System类下有一个静态的字段:
* public static final InputStream in; 标准的输入流,对应着键盘录入。
*
* InputStream is = System.in;
*
* class Demo {
* public static final int x = 10;
* public static final Student s = new Student();
* }
* int y = Demo.x;
* Student s = Demo.s;
*
*
* 构造方法:
* Scanner(InputStream source)

 

* 基本格式:
* public boolean hasNextXxx():判断是否是某种类型的元素
* public Xxx nextXxx():获取该元素
*
* 举例:用int类型的方法举例
* public boolean hasNextInt()
* public int nextInt()
*
* 注意:
* InputMismatchException:输入的和你想要的不匹配

 1         // 创建对象
 2         Scanner sc = new Scanner(System.in);
 3 
 4         // 获取数据
 5         if (sc.hasNextInt()) {
 6             int x = sc.nextInt();
 7             System.out.println("x:" + x);
 8         } else {
 9             System.out.println("你输入的数据有误");
10         }

 

* 常用的两个方法:
* public int nextInt():获取一个int类型的值
* public String nextLine():获取一个String类型的值
*
* 出现问题了:
* 先获取一个数值,在获取一个字符串,会出现问题。
* 主要原因:就是那个换行符号的问题。
* 如何解决呢?
* A:先获取一个数值后,在创建一个新的键盘录入对象获取字符串。
* B:把所有的数据都先按照字符串获取,然后要什么,你就对应的转换为什么。

1         // 创建对象
2         Scanner sc = new Scanner(System.in);
3         int a = sc.nextInt();
4         Scanner sc2 = new Scanner(System.in);
5         String s = sc2.nextLine();
6         System.out.println("a:" + a + ",s:" + s);

 

Scanner类

标签:tin   col   boolean   string   style   else   出现   system类   原因   

原文地址:https://www.cnblogs.com/samuraihuang/p/9861396.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!