zoukankan      html  css  js  c++  java
  • 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. 可以获得空白;
  • 相关阅读:
    第十二周 张文小组学习情况总结
    第五章
    第四章
    第三章
    软工实训--学习回顾2
    软工实训-- 学习回顾1
    构建之法——读书笔记(9)
    构建之法——读书笔记(8)
    构建之法——读书笔记(7)
    第13周张文小组学习情况总结
  • 原文地址:https://www.cnblogs.com/stevenx/p/12951459.html
Copyright © 2011-2022 走看看