gpt4 book ai didi

java - 名字、中间名、姓氏扫描仪

转载 作者:行者123 更新时间:2023-12-01 23:14:11 27 4
gpt4 key购买 nike

以下是要求:我。如果有名字、中间名和姓氏,则仅显示名字和姓氏二.如果有第一个和最后一个,则显示第一个和最后一个三.如果只有名字,则直接显示

我有以下代码:

String fullName = "first middle last";
Scanner nameScanner = new Scanner(fullName);
nameScanner.findInLine(" ");
MatchResult result = nameScanner.match();
if(result.groupCount() > 2)
{
System.out.println(result.group(1)+ " "+ result.group(3));
}
else
{
System.out.println(fullName);
}

当我尝试运行我得到的代码时

Exception in thread "main" java.lang.IllegalStateException: No match result available
at java.util.Scanner.match(Unknown Source)
at com.assignment.RunAssignmentApp.main(RunAssignmentApp.java:48)

我做错了什么?

最佳答案

扫描仪不能以这种方式工作。按照您编写此内容的方式,最好根据空格将输入拆分为字符串数组:

public static void nameScanner() {
String fullName = "first middle last";
String[] names = fullName.split(" "); // split the string at the spaces
if (names.length > 2) {
System.out.println(names[0] + " " + names[2]); // arrays start at index 0, so names[0] is first name
} else {
System.out.println(fullName);
}
}

当然,如果您从用户那里获取输入,您肯定需要添加一些错误检查和处理,以确保不会超出数组范围。

关于java - 名字、中间名、姓氏扫描仪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21468625/

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