Java 要拆分名称的子字符串

Java substring to split up name

我被要求接受用户的输入,他们的名字和姓氏在一个字符串中。

然后输出他们的名字,姓在前,名在后。

我已经完成了所有的事情,但我卡住的部分是如何显示他们的名字然后是他们的姓氏,请帮忙。

这是我所要求的代码

package chapter2Codes;
import java.util.Scanner;

public class StPrac1 {
    public static void main(String[] args) {

        String name;

        System.out.println("Please your full name");

        Scanner kbd = new Scanner( System.in );
        name = kbd.nextLine();

        System.out.print(name.substring(5,8) + (", ") + name.substring(0,));


    }
}

如果名字和姓氏由白色-space分隔,那么试试这个

    var fullname = "Firstname Surname";
    var fname = fullname.Split(" ")[0];
    var sname = fullname.Split(" ")[1];
    string output = sname + ", " + fname;

或者如果你想避免使用中间名

 string fullName = "Firstname MidName LastName"; 
 string[] names = fullName.Split(' '); 
 string fname = names.First();
 string lname = names.Last(); 
 string output = lname + ", " + fname;

或者在 .Split('addyourdelimeterhere')

中使用分隔符

根据您的代码

public class StPrac1 {

    public static void main(String[] args) {

        String name;

        System.out.println("Please your full name");

        Scanner kbd = new Scanner( System.in );
        name = kbd.nextLine();
        string fname = name.Split(" ")[0];
        string sname = name.Split(" ")[1];
        string output = sname + ", " + fname;

        System.out.print(output);


    }
    }

这只是一个例子,不是一个完美的解决方案,如果你能Post更详细

,它会很容易帮助你