gpt4 book ai didi

java - 如何从字符串中提取名字、中间名和姓氏。以及如何识别没有输入中间名的情况

转载 作者:太空宇宙 更新时间:2023-11-04 09:36:49 24 4
gpt4 key购买 nike

我需要执行以下操作:

许多文档对人名使用特定格式。编写一个程序,输入为:firstName middleName lastName,输出为:lastName,firstName middleInitial。

enter image description here

这是通过教科书,所以我没有被教过如何分割字符串。我在网上只能找到这些,但这不是教科书要求的。到目前为止,我已经学会了如何比较字符串、获取字符串长度、分支、switch 语句、字符串操作。

    import java.util.Scanner; 

public class LabProgram {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);

String firstName;
String middleName;
String lastName;
String name;

name = scnr.nextLine();

int firstSpace = name.indexOf(" ");
firstName = name.substring(0, firstSpace);

int secondSpace = name.indexOf(" ", firstSpace + 1);

if (secondSpace < 0) {
lastName = name.substring(firstSpace);
System.out.println(lastName + ", " + firstName);
}
else {
middleName = name.substring(firstSpace, secondSpace);
lastName = name.substring(secondSpace);
System.out.println(lastName + ", " + firstName + " " + middleName.charAt(0) + ".");
}

}
}

这就是我到目前为止所拥有的。

最佳答案

如果您无法使用 split(),您可以使用 scnr.next() 读取前两个条目,然后第三个输入将是该行的其余部分,然后您可以取出其中的一个子字符串,去掉空格。

import java.util.Scanner; 

public class LabProgram {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);

String name1;
String name2;
String name3;

name1 = scnr.next();
name2 = scnr.next();
name3 = scnr.nextLine();

if (name3.equals("")){
System.out.println(name2 + ", " + name1);
}
else{
name3 = name3.substring(1);
System.out.println(name3 + ", " + name1 + " " + name2.charAt(0) + ".");
}
}
}

关于java - 如何从字符串中提取名字、中间名和姓氏。以及如何识别没有输入中间名的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56411197/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com