java.util.Scanner用法

该扫描器的默认分割符是空白符,被分隔符分割成多个token.可以自己修改分隔符.
所有的nextXXX() 或者 hasNextXXX()会阻塞等待输入.
但是hasNextInt()遇到非int型数据即返回不再执行while()…

hasNext
Returns true if this scanner has another token in its input. This method may block while waiting for input to scan. The scanner does not advance past any input.

nextInt
public int nextInt​(int radix)
Scans the next token of the input as an int. This method will throw InputMismatchException if the next token cannot be translated into a valid int value as described below. If the translation is successful, the scanner advances past the input that matched.

 public static  void main(String[] args){
        Scanner input=new Scanner(System.in);
        int i=0;
        while (input.hasNextInt()){
            int num=input.nextInt();
            i++;
            System.out.println(i+":"+num);
        }
    }

结果:
java.util.Scanner用法_第1张图片

java.util.Scanner用法_第2张图片

2.nextInt()
hasNext返回为真,但是nextInt()遇到非int数据时会运行异常.

public static  void main(String[] args){
        Scanner input=new Scanner(System.in);
        int i=0;
        while (input.hasNext()){
            int num=input.nextInt();
            i++;
            System.out.println(i+":"+num);
        }
    }

java.util.Scanner用法_第3张图片
3.next()
返回string

 while (true){
            String  num=input.next();
            i++;
            System.out.println(i+":"+num);
        }

java.util.Scanner用法_第4张图片

你可能感兴趣的:(java.util.Scanner用法)