Java名称计划

时间:2015-10-17 14:29:49

标签: java

  

编写一个名为hasComma的方法,该方法将名称作为参数,并返回一个布尔值,指示它是否包含逗号。如果是,您可以假设它是姓氏第一格式。您可以使用indexOf String方法为您提供帮助。

     

编写一个名为convertName的方法,该方法将名称作为参数。它应该通过调用hasComma方法检查它是否包含逗号。如果是,它应该只返回字符串。如果没有,那么它应该假设名称是以名字第一格式,并且它应该返回一个新的字符串,其中包含转换为姓氏逗号优先格式的名称。使用charAtlengthsubstringindexOf方法。

     

在主程序中,循环,询问用户名称字符串。如果字符串不为空,请调用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;
    }
}

1 个答案:

答案 0 :(得分:4)

您没有打印方法的输出。

而不是

convertName(name);

System.out.println(convertName(name));