首页 > 解决方案 > 如何格式化输出?

问题描述

(在 Java 中)编写一个接受名称并将其格式化的程序,如下所示: 如果输入是:John Anthony Brown

那么输出必须是:Brown, John A.

这是我所拥有的

    int mn;
    String input3;
    int fn;
    int ln;
    String firstName;
    String lastName;
    String middleName;
    Scanner scnr = new Scanner(System.in);
    String input = scnr.nextLine();
    fn = input.indexOf(" ");
    firstName = input.substring(0, fn);
    middleName = input.substring(fn+1, input.length());
    mn = middleName.indexOf(" ");
    lastName = input.substring(mn+1, input.length());
    
    System.out.println(lastName + ", " + mn + " " + firstName + ".");
}

我不断尝试不同的事情并得到奇怪的输出,例如“ry A Lee, 1 Mary”。对于输入“嫁给李”

这个话题在我的课上从来没有涉及过,我很困惑。

标签: javaformatting

解决方案


因为这是作业,所以我会给出代码片段:

首先,用于split()将文本分解为单词:

String[] names = input.split(" ");

然后建立你的结果:

String result = names[2] + ", " + names[0] + ", " + names[1].charAt(0) + ".";

有更优雅的方法可以做到这一点,但这种方法可以说是最容易理解的。

你可以通过迎合不同数量的名字来变得更漂亮。


推荐阅读