• Scanner:用户交互


    1、Scanner类

    • Scanner就是Java给我们提供的用于程序和人交互的一个工具类,我们可以获取用户的输入。java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。
    • 基本语法:
      //      创建一个扫描器对象,用于接收键盘数据
              Scanner scanner = new Scanner(System.in);
    • 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用 hasNext() 与 hasNextLine()判断是否还有输入的数据。
      package com.steven.demo;
      
      import java.util.Scanner;
      
      public class ScannerDemo {
      
          public static void main(String[] args) {
      
      //      创建一个扫描器对象,用于接收键盘数据
              Scanner scanner = new Scanner(System.in);
      
      //      使用next方法接收
              String strNext = scanner.next();
      //      判断用户有没有输入字符串;scanner.hasNext()完整的写法是scanner.hasNext()==True;Java中默认把后面的省略。
              if(scanner.hasNext()){
                  System.out.println("strNext:" + strNext);
              }
      
      /*//      使用nextLine方法接收
              String strNextLine = scanner.nextLine();
      //      判断用户有没有输入字符串
              if (scanner.hasNextLine()){
                  System.out.println("strNextLine:" + strNextLine);
              }*/
      
      //      凡是属于IO流的类如果不关闭,会一直使用资源,要养成好的习惯:用完就关掉。
              scanner.close();
          }
      }

    输出结果:

    Hello word
    
    strNext:Hello
    strNextLine:Hello word

    通过输出结果可以看出,输入的字符串一样,但是next() 和 nextLine() 方法接收的字符串不一样。

    2、next() 和 nextLine() 区别

    • next():

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

    1. 以Enter作为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符;
    2. 可以获得空白;
  • 相关阅读:
    Excel jar包冲突 java.lang.NoSuchFieldError: DEFAULT
    js中foreach有三种写法,你知道吗
    上期CTP
    Visual Status各个版本官网下载
    电脑重装环境配置
    vue父子页面传值
    MySQL该使用哪种CPU架构服务器?
    【沥血整理】灰度(二值)图像重构算法及其应用(morphological reconstruction)。
    【短道速滑九】仿halcon中gauss_filter小半径高斯模糊优化的实现
    AVX图像算法优化系列一: 初步接触AVX。
  • 原文地址:https://www.cnblogs.com/stevenx/p/12951459.html
Copyright © 2020-2023  润新知