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异常原因和解决办法,IllegalStateException是Java标准库中的一个异常类,通常表示在不合适或无效的情况下执行了某个方法或操作,需要的朋友可以参考下2023-07-07
Debian 7 和 Debian 8 用户安装 Java 8的方法
Oracle Java 8 稳定版本近期已发布,有很多新的特征变化。其中,有功能的程序支持通过“Lambda项目 ”,收到了一些安全更新和界面改进上的bug修复,使得开发人员的工作更容易。2014-03-03
Netty分布式pipeline传播inbound事件源码分析
这篇文章主要为大家介绍了Netty分布式pipeline传播inbound事件的源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步2022-03-03
java报错之springboot3+vue2项目web服务层报错总结
java入门学习,随手记录一下开发过程中产生的报错,有些错误是网上搜索再加上自己尝试,随手引用了一些其他人的记录,也是留给自己看的,或是希望能对其他初学者有帮助2023-06-06


最新评论