在 java 中包含 Scanner 中的空格
Including spaces in Scanner in java
我正在编写一个简单的代码,它从使用扫描仪的用户那里获取号码、姓名、姓氏。
但是,当用户输入其中包含 spaces 的姓名(两个或更多姓名)时,代码认为第一个 space 之后的字符串是姓氏。
我尝试使用 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);
样本input/output:
Enter number
1
Enter Name
user name
Enter Surname
sur name
1 - user name - sur name
使用sc.nextLine()代替sc.next()读取带空格的字符串
我正在编写一个简单的代码,它从使用扫描仪的用户那里获取号码、姓名、姓氏。
但是,当用户输入其中包含 spaces 的姓名(两个或更多姓名)时,代码认为第一个 space 之后的字符串是姓氏。
我尝试使用 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);
样本input/output:
Enter number
1
Enter Name
user name
Enter Surname
sur name
1 - user name - sur name
使用sc.nextLine()代替sc.next()读取带空格的字符串