Java名称程序
编写一个名为Java名称程序,java,Java,编写一个名为hascoma的方法,该方法将名称作为参数,并返回一个布尔值,指示它是否包含逗号。如果是,您可以假定它是姓氏优先格式。您可以使用indexOfString方法来帮助您 编写一个名为convertName的方法,将名称作为参数。它应该通过调用hascoma方法来检查它是否包含逗号。如果是,它应该只返回字符串。如果不是,那么它应该假设该名称为“名优先”格式,并且它应该返回一个新字符串,其中包含转换为“姓优先”格式的名称。使用charAt、length、substring和indexOf方
hascoma
的方法,该方法将名称作为参数,并返回一个布尔值,指示它是否包含逗号。如果是,您可以假定它是姓氏优先格式。您可以使用indexOf
String
方法来帮助您
编写一个名为convertName
的方法,将名称作为参数。它应该通过调用hascoma
方法来检查它是否包含逗号。如果是,它应该只返回字符串。如果不是,那么它应该假设该名称为“名优先”格式,并且它应该返回一个新字符串,其中包含转换为“姓优先”格式的名称。使用charAt
、length
、substring
和indexOf
方法
在主程序中,循环,要求用户输入名称字符串。如果字符串不是空的,请调用convertName
并打印结果。当字符串为空时,循环终止
但是,我的程序不会返回转换后的名称。如果我输入一个像John Smith
这样的名字,程序就结束了,而不是返回Smith,John
public static void main(String[] args) {
String name;
Scanner reader = new Scanner (System.in);
System.out.println("Type a name, then press ENTER.");
name = reader.nextLine();
if (name == null) {
return;
} else {
convertName(name);
}
}
public static boolean hasComma(String name) {
return name.indexOf(',') >= 0;
}
public static String convertName(String name) {
if (hasComma(name)) {
return name;
} else {
int index = name.indexOf(' ');
String first = name.substring(0, index);
String last = name.substring(index + 1);
String convertedName = last + ", " + first;
return convertedName;
}
}
您没有打印方法的输出 而不是
convertName(name);
写
您没有对
convertName(name)
的返回值执行任何操作,因此Java将其丢弃。也许您想打印它(System.out.println(convertName(name));
)?您正在调用convertName(),它返回转换后的名称。但是您忽略返回的值。您应该打印它。:System.out.println(convertName(name))代码>
System.out.println(convertName(name));