• 《java入门第一季》之类(Scanner类)


    /*
     * 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类中,有转换为其他各种格式数据的方法。

  • 相关阅读:
    虚拟机中按键切回windows系统界面快捷键
    余数
    质数(素数)判断代码实现
    =excel========》函数使用
    python 正则表达式规则
    linux常用命令详解
    c指针
    visual studio 2015 开发时常见问题的解决方案
    python装饰器
    构造方法
  • 原文地址:https://www.cnblogs.com/wanghang/p/6299837.html
Copyright © 2020-2023  润新知