《java入门第一季》之类(Scanner类)
2016-05-09 08:56
465 查看
/* * Scanner:用于接收键盘录入数据。 * * 前面的时候: * A:导包 * B:创建对象 * C:调用方法 * * System类下有一个静态的字段: * public static final InputStream in; 标准的输入流,对应着键盘录入。InputStream si = System.in; * * InputStream is = System.in;//返回的是InputStream类型的 * * 通过一个例子来解释上面的问题。 * class Demo { * public static final int x = 10; * public static final Student s = new Student(); * } * int y = Demo.x;//返回的是int类型 * Student s = Demo.s;//返回的是Student类型。 * 同理可推出:public static final InputStream in; * class System{ * public static final InputStream in; * } * InputStream is = System.in;//返回的是InputStream类型的 * 而Scanner类下有一个构造方法Scanner(InputStream source)//恰好里面传的是InputStream。 * * 构造方法: * Scanner(InputStream source) */ import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { // 创建对象 Scanner sc = new Scanner(System.in);//创建对象就调用构造方法,那么这里调用的哪个构造方法呢?? //反推法:System一定是个类。in一定不是方法没有();那么一定是变量,且一定是静态的。那么就去研究一下System这个类下的方法。解释到注释部分查看。 int x = sc.nextInt(); System.out.println("x:" + x); } }
/* * 基本格式: * public boolean hasNextXxx():判断是否是某种类型的元素.例如:返回: 当且仅当此扫描器的下一个标记是有效的 int 值时才返回 true 即输入的数据为int类型,才为true * * public Xxx nextXxx():获取该元素 * * 举例:用int类型的方法举例 * public boolean hasNextInt() * public int nextInt() * * 注意: * InputMismatchException:输入的和你想要的不匹配 */注意:键盘录入数据,先获取一个数值,再取一个字符串,会出现问题。这种问题主要是由于换行符导致的。解决办法一般先按照字符串的方式进行录入,最后想要什么数据,直接强制转换就可以。因为String类中,有转换为其他各种格式数据的方法。
相关文章推荐
- 《java入门第一季》之类(Scanner类)
- (九)Struts2 防重复提交
- (八)Struts2 文件上传和下载
- J2SE基础之JDK环境变量配置
- Spring源码解析——start from BeanFactory(一)
- 《java入门第一季》之eclipse快捷键
- 《java入门第一季》之eclipse快捷键
- Java的多线程创建方法
- Java数据类型的分类
- Java设计模式(八) 适配器模式
- Java ArrayList源码剖析
- java的类加载顺序
- JAVA笔记之IO流
- 反射和注解的使用
- Eclipse中,如何把一个java项目变成web项目?
- (七)Struts2 验证框架
- 使用Android Studio打开eclipse项目以及打开网上下载的studio项目报错解决办法
- java中的一些基本语句
- (六)Struts2 国际化
- 012 Integer to Roman(Java)