[英]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.