嗨,我是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语句中.我试图解决它但失败了.有什么建议我可以解决这个问题吗?
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)