繁体   English   中英

在 java 的 Scanner 中包含空格

[英]Including spaces in Scanner in java

我正在编写一个简单的代码,它使用扫描仪从用户那里获取数字、姓名、姓氏。 但是当用户输入带有空格的名称(两个或多个名称)时,代码认为第一个空格之后的字符串是姓氏。 我尝试使用input.nextLine(); 在这种情况下,它会完全跳过名称,只从用户那里获取姓氏。

Scanner input = new Scanner(System.in);
System.out.println("Enter number");
int num = input.nextInt();
System.out.println("Enter Name");
String name = input.next();
System.out.println("Enter Surname");
String surname = input.next();

尝试这个:

Scanner input = new Scanner(System.in);
System.out.println("Enter number");
int num=input.nextInt();
input.nextLine(); // add this
System.out.println("Enter Name");
String name=input.nextLine();
System.out.println("Enter Surname");
String surname=input.nextLine();
System.out.println(num + " - " + name + " - " + surname);

样本输入/输出:

Enter number
1
Enter Name
user name
Enter Surname
sur name
1 - user name - sur name

使用sc.nextLine()而不是 sc.next( )读取带空格的字符串

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM