Scanner

package com.Scanner;

import java.util.Scanner;

public class Study01 {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        //System.out.println(input.hasNext("[yn]"));
        //System.out.println(input.hasNext("[1,2,3,4,5,6,7,8,9][\d]{0,}"));
        new Study01().hasNext();
    }
    public void hasNext(){
        /*
        hasNext()  表示扫描器中是否有另一个标记,有则返回true
        可以带参,参数为正则形式的字符串,用来限制扫描器中的输入
        hasNext(Pattern pattern)
        hasNext(String pattern)
        hasNextInt()返回扫描器中是否是int类型的数据
        ....
        nextLine()获取扫描器中的字符串
        next()/nextInt()...不写了。
         */
        /*
         只能输入y或者n
         */
        /*Scanner input=new Scanner(System.in);
        while(!input.hasNext("[yn]")){
            input=new Scanner(System.in);
            System.out.println("请输入y或者n:");        
        }
        String x=input.next();
        System.out.println(x);
        一个典型小错误:
        当先获取其他类型再获取字符串的时候,获取的字符串会默认是空,就是

        解决方式:
            使用两个扫描器
            先获取字符串再获取其他形式变量
        */
        //只能输入1,2,3
        Scanner input=new Scanner(System.in);
        while(!input.hasNext("[1,2,3]{1}")){
            input=new Scanner(System.in);
            System.out.println("请输入1或者2或者3:");        
        }
        int x=input.nextInt();
        System.out.println(x);
    }

}
/*
找到文档,打开文档
    点击显示,找到索引,出现输入框
    输入框中找到你需要的类,比如Scanner
    看这个类的结构(需不需要导入包,java.lang的不需要导入)
        成员变量    字段
        构造方法    构造方法
        成员方法    方法
    看这个类的说明
    看构造方法
    看成员方法
    然后使用
    
    继承自java.util包,需要导入
    版本:jdk1.5开始
    简单介绍:
        一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器
 */
原文地址:https://www.cnblogs.com/aigeileshei/p/5549306.html