Files
notes_estom/Java/02Java标准库/06 Scanner.md
yinkanglong cc62258411 java
2023-10-21 09:55:22 +08:00

1.5 KiB
Raw Blame History

Scanner

基本使用方法

Scanner s = new Scanner(System.in);

s.next();
s.nextLine();

s.hasNext();
s.hasNextLine();

//尽量关闭掉 
s.close();

读取不同类型的数据

  • 读取会阻塞但是读取错误的数据会返回false
    • 没有数据——阻塞
    • 有数据类型正确——true
    • 有数据类型错误——false

package com.ykl;

import java.util.Scanner;

public class ScannerTest {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);

        System.out.println("使用不同的方式读取数据");

       // hasNext会一直阻塞直到由新的内容。
       while(s.hasNext()){
           System.out.println("读取前的环节");
           String str = s.next();
           System.out.println("读取到的内容位:"+str);
       }


       // hasNextLine会一直阻塞直到由新的内容。测试一下next()是否会阻塞
       while(s.hasNextLine()){
           System.out.println("读取前的环节");
           String str = s.nextLine();
           System.out.println("读取到的内容位:"+str);
       }


        //hasNextInt方法会阻塞如果不是整数会返回False
        if(s.hasNextInt()){
            System.out.println("读取前的环节");
            int str = s.nextInt();
            System.out.println("读取到的内容位:"+str);
        }
        else{
            System.out.println("你输入的不是整数");
        }

        s.close();
    }

}