这是您需要执行的步骤列表:
获取输入[将是示例:“约翰·史密斯”]
分成两部分[有几种方法可以执行此操作]
firstName = input.substring(0, input.indexOf(" "));
lastName = input.substring(input.indexOf(" ")+1, input.length());
substring()返回字符串的一部分。
indexOf()在字符串中查找特定字符。
在这种情况下,我们从头开始,到找到空间时结束。
为了获得姓氏,我们从找到空格的地方开始,到字符串的末尾结束。
您还可以将其与.trim()方法结合使用,该方法从字符串的开头/结尾删除空格。
最后,我们返回串联的值:
return lastName + ", " + firstName;
完整的代码:
package lab11;
import java.util.Scanner;
public class Lab11 {
public static Scanner user_input;
public static void main(String[] args) {
user_input = new Scanner(system.in);
System.out.print("Enter your name: ");
System.out.println(changeNameFormat(user_input.nextLine()));
}
public static String changeNameFormat(String input) { //Pass a name
String firstName, lastName;
firstName = input.substring(0, input.indexOf(" "));
lastName = input.substring(input.indexOf(" ")+1, input.length());
return lastName + ", " + firstName;
}
}
经过测试:http://www.compileonline.com/compile_java_online.PHP
由于您的名称为“ changeNameFormat()”,因此我们可能应该将其更改为我们想要更改的名称。
然后在我们的主体中,我们可以获得输入,甚至可以将其作为参数传递。