Java Scanner如何获取字符串和带空格的字符串
作者:无奈的码农
这篇文章主要介绍了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();
}
}总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
