Scanner学习

Scanner学习

next()

  1. 一定要读取到有效字符后才可以结束输入。
  2. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
  3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
  4. next()不能得到带有空格的字符串

​ 测试代码如下:

public static void main(String[] args) {
     
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入:");
        if(scanner.hasNext()){
     
            String str = scanner.next();
            System.out.println("输入的内容为:"+str);
        }
        scanner.close();
    }

运行结果如下:

请输入:
hello world
输入的内容为:hello

nextLine()

  1. 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
  2. 可以获得空白。

​ 测试代码如下:

public static void main(String[] args) {
     
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入:");
        if(scanner.hasNextLine()){
     
            String str = scanner.nextLine();
            System.out.println("输入的内容为:"+str);
        }
        scanner.close();
    }

运行结果如下:

请输入:
hello world
输入的内容为:hello world

其他方法

测试代码如下:

public static void main(String[] args) {
     
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入第一个数:");
        int a = 0;
        float b = 0.0f;
        if(scanner.hasNextInt()){
     
            a = scanner.nextInt();
            System.out.println("输入的整数为:" + a);
        }else{
     
            System.out.println("输入的不是整数!");
        }

        System.out.println("请输入第二个数:");
        if(scanner.hasNextFloat()){
     
            b = scanner.nextFloat();
            System.out.println("输入的浮点数为:" + b);
        }else{
     
            System.out.println("输入的不是浮点数!");
        }
        scanner.close();
    }

你可能感兴趣的:(Java,java)