输入一个字符串代表中文姓名,姓名各个汉字之间无空格,但姓名前后允许出现数量不定的空格; 如果输入的姓名是复姓,则需要在输入的最后加上星号*进行标注,复姓都只包含两个汉字,不会出现多于两个汉字的复姓; 输出两行字符串,分别是“姓”和“名”,“名”的末尾无换行。
时间: 2024-02-20 11:57:02 浏览: 86
好的,可以参考以下 Java 代码实现:
```java
import java.util.Scanner;
public class ChineseNameParser {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入中文姓名:");
String input = scanner.nextLine().trim(); // 去掉输入字符串前后的空格
// 判断是否为复姓
String lastName;
String firstName;
if (input.endsWith("*")) {
lastName = input.substring(0, 2); // 取前两个字符作为姓
firstName = input.substring(2, input.length() - 1); // 取第三个字符到倒数第二个字符作为名
} else {
lastName = input.substring(0, 1); // 取第一个字符作为姓
firstName = input.substring(1); // 取除第一个字符以外的所有字符作为名
}
// 输出结果
System.out.println("姓:" + lastName);
System.out.print("名:" + firstName);
}
}
```
在上面的代码中,首先使用 `Scanner` 类获取用户输入的中文姓名,并使用 `trim()` 方法去掉输入字符串前后的空格。然后判断输入的姓名是否为复姓,如果是,则取前两个字符作为姓,取第三个字符到倒数第二个字符作为名;否则,取第一个字符作为姓,取除第一个字符以外的所有字符作为名。最后输出结果,其中第二行字符串末尾没有换行符。
阅读全文