Java编译器错误:不是声明

Adi*_*Adi 1 java

嗨,我是java编程的新手.我想写一个java程序,它获取用户的名字和姓氏首字母.我的代码是:

public class MyProgram {
public void start() {
    String name = getNameFromUser();
    char firstNameInitials = getInitials(name);
    char surnameInitials = getInitials(name);
    printInitials(firstNameInitials, surnameInitials);
}
private String getNameFromUser() {
    System.out.print("Please enter your name: ");
    String name = Keyboard.readInput();
    return name;
}
private char getInitials(String name) {
    char firstNameInitials = name.charAt(0);
    int indexOfSpace = name.indexOf(" ");
    char surnameInitials = name.charAt(indexOfSpace + 1);

    return firstNameInitials; surnameInitials;
}

private void printInitials(String firstNameInitials, String surnameInitials){
    System.out.print("your initials are: " + firstNameInitials +". " + surnameInitials +".");
}
}
Run Code Online (Sandbox Code Playgroud)

我收到错误信息,我不知道这意味着什么:

Error: not a statement.
Run Code Online (Sandbox Code Playgroud)

错误似乎在第18行,在return语句中.我试图解决它但失败了.有什么建议我可以解决这个问题吗?

sti*_*ike 6

return firstNameInitials; surnameInitials;
Run Code Online (Sandbox Code Playgroud)

你不能像这样返回多个字符.而是使用char数组返回

例如,您可以像这样返回

private char[] getInitials(String name) {
    char firstNameInitials = name.charAt(0);
    int indexOfSpace = name.indexOf(" ");
    char surnameInitials = name.charAt(indexOfSpace + 1);

    char[] result  = {firstNameInitials, surnameInitials};
    return result;
}
Run Code Online (Sandbox Code Playgroud)

并称之为

char[] a = getInitials(name);
char firstNameInitials = a[0];
char surnameInitials = a[1];
Run Code Online (Sandbox Code Playgroud)