Java Scanner如何获取字符串和带空格的字符串

 更新时间:2023年08月25日 14:18:21   作者:无奈的码农  
这篇文章主要介绍了Java Scanner如何获取字符串和带空格的字符串问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Scanner获取字符串和带空格的字符串

next() 针对不带空格的字符串

 public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.print("地址:");
        String host = s.next();
        System.out.println("host = " + host);
        System.out.print("端口:");
        String port = s.next();
        System.out.println("port = " + port);
        System.out.print("用户名:");
        String user = s.next();
        System.out.println("user = " + user);
        System.out.print("带空格的用户名:");
        String userSpace = s.next();
        System.out.println("userSpace = " + userSpace);
    }

nextLine()针对带空格的字符串

  public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.print("地址:");
        String host = s.nextLine();
        System.out.println("host = " + host);
        System.out.print("端口:");
        String port = s.nextLine();
        System.out.println("port = " + port);
        System.out.print("用户名:");
        String user = s.nextLine();
        System.out.println("user = " + user);
        System.out.print("带空格的用户名:");
        String userSpace = s.nextLine();
        System.out.println("userSpace = " + userSpace);
    }

Scanner类——获取用户输入的字符串

注意区分Scanner类中的获取输入字符串的两种方法:

next() 和 nextLine()

next()nextLine()
一定要读取到有效字符后才可以结束输入以Enter回车键作为结束符
有效字符前的空格会自动忽略返回输入回车之前的所有字符
有效字符后的空格会被作为结束符可以获得空白字符串
综上,next()不能得到带有空格的字符串综上,nextLine()可以得到有空格的字符串

使用next()

import java.util.Scanner;
public class Demo1 {
    public static void main(String[] args) {
        //创建一个Scanner类的对象,准备从键盘接收数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用next方式接收:");
        if (scanner.hasNext()) {
            //scanner.hasNext()  判断用户是否还有输入
            String str=scanner.next(); //如果还有输入,通过scanner.next()接收用户的输入
            String str=scanner.next();
            System.out.println("输出内容:"+str);
        }
        scanner.close();//属于I/O流的类,使用结束后及时关闭,否则将一直占用资源
    }
}

示例:

使用nextLine()

import java.util.Scanner;
public class Demo2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用nextLine方式接收:");
        if (scanner.hasNextLine()){
            String str = scanner.nextLine();
            System.out.println("输出内容:"+str);
        }
        scanner.close();
    }
}

示例:

常用nextLine()进行字符串的获取,写法如下:

import java.util.Scanner;
public class Demo3 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str=scanner.nextLine();
        //接收用户输入,直至敲下回车结束,将输入保存为字符串
        System.out.println("输出的内容:"+str);
        scanner.close();
    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java.lang.IllegalStateException异常原因和解决办法

    java.lang.IllegalStateException异常原因和解决办法

    这篇文章主要给大家介绍了关于java.lang.IllegalStateException异常原因和解决办法,IllegalStateException是Java标准库中的一个异常类,通常表示在不合适或无效的情况下执行了某个方法或操作,需要的朋友可以参考下
    2023-07-07
  • MyBatis foreach 批量更新实例

    MyBatis foreach 批量更新实例

    这篇文章主要介绍了MyBatis foreach 批量更新实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Java+Swing实现医院管理系统的完整代码

    Java+Swing实现医院管理系统的完整代码

    这篇文章主要介绍了Java+Swing实现医院管理系统的完整代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • Debian 7 和 Debian 8 用户安装 Java 8的方法

    Debian 7 和 Debian 8 用户安装 Java 8的方法

    Oracle Java 8 稳定版本近期已发布,有很多新的特征变化。其中,有功能的程序支持通过“Lambda项目 ”,收到了一些安全更新和界面改进上的bug修复,使得开发人员的工作更容易。
    2014-03-03
  • Spring DevTools的介绍

    Spring DevTools的介绍

    今天小编就为大家分享一篇关于Spring DevTools的介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • spring boot Rabbit高级教程(最新推荐)

    spring boot Rabbit高级教程(最新推荐)

    RabbitMQ的消息过期是基于追溯方式来实现的,也就是说当一个消息的TTL到期以后不一定会被移除或投递到死信交换机,而是在消息恰好处于队首时才会被处理,本篇文章给大家介绍spring boot Rabbit高级教程,感兴趣的朋友一起看看吧
    2023-10-10
  • Netty分布式pipeline传播inbound事件源码分析

    Netty分布式pipeline传播inbound事件源码分析

    这篇文章主要为大家介绍了Netty分布式pipeline传播inbound事件的源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • Java结合EasyExcel构建复杂多级表头

    Java结合EasyExcel构建复杂多级表头

    在Java开发中,处理Excel文件时,构建复杂的多级表头是一项常见且具有挑战性的任务,下面小编就来和大家聊聊如何通过自定义方法实现多级表头的构建吧
    2025-03-03
  • 使用Java操作Parquet文件的基本步骤

    使用Java操作Parquet文件的基本步骤

    Parquet 是一个强大的列式存储格式,适用于大数据场景,能够高效地进行数据压缩、查询和存储,在 Java 中使用 Apache Spark 读取和写入 Parquet 文件是一项常见的任务,本文给大家介绍了在 Java 中使用 Spark 来读取和写入 Parquet 文件的基本步骤,需要的朋友可以参考下
    2025-03-03
  • java报错之springboot3+vue2项目web服务层报错总结

    java报错之springboot3+vue2项目web服务层报错总结

    java入门学习,随手记录一下开发过程中产生的报错,有些错误是网上搜索再加上自己尝试,随手引用了一些其他人的记录,也是留给自己看的,或是希望能对其他初学者有帮助

    2023-06-06

最新评论