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反应式框架Reactor中的Mono和Flux

    Java反应式框架Reactor中的Mono和Flux

    这篇文章主要介绍了Java反应式框架Reactor中的Mono和Flux,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • 一文教会你如何搭建vue+springboot项目

    一文教会你如何搭建vue+springboot项目

    最近在捣鼓 SpringBoot 与 Vue 整合的项目,所以下面这篇文章主要给大家介绍了关于如何通过一篇文章教会你搭建vue+springboot项目,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • 利用Java获取被nginx代理的emqx客户端真实ip

    利用Java获取被nginx代理的emqx客户端真实ip

    使用nginx作为负载均衡(Load Balancing)的时候,发现真实ip无法获取,所以本文小编就来和大家介绍一下如何使用Java获取被nginx代理的emqx客户端真实ip地址吧
    2025-08-08
  • Spring配置文件无法读取properties属性的解决

    Spring配置文件无法读取properties属性的解决

    这篇文章主要介绍了Spring配置文件无法读取properties属性的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Springboot启用多个监听端口代码实例

    Springboot启用多个监听端口代码实例

    这篇文章主要介绍了Springboot启用多个监听端口代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Java利用EasyExcel实现模板读取和复杂表格填充

    Java利用EasyExcel实现模板读取和复杂表格填充

    这篇文章主要为大家详细介绍了Java利用EasyExcel实现模板读取和复杂表格填充的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-12-12
  • Spring常用注解及自定义Filter的实现

    Spring常用注解及自定义Filter的实现

    这篇文章主要介绍了Spring常用注解及自定义Filter的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Java 在PPT中添加混合图表过程详解

    Java 在PPT中添加混合图表过程详解

    这篇文章主要介绍了Java 在PPT中添加混合图表过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Mybatis查询返回Map<String,Object>类型实例详解

    Mybatis查询返回Map<String,Object>类型实例详解

    这篇文章主要给大家介绍了关于Mybatis查询返回Map<String,Object>类型的相关资料,平时没太注意怎么用,今天又遇到了总结记录一下,方便以后处理此类问题,需要的朋友可以参考下
    2022-07-07
  • Spring AOP详解面向切面编程思想

    Spring AOP详解面向切面编程思想

    Spring是一个广泛应用的框架,SpringAOP则是Spring提供的一个标准易用的aop框架,依托Spring的IOC容器,提供了极强的AOP扩展增强能力,对项目开发提供了极大地便利
    2022-06-06

最新评论