美好的一天,伙计们, 我正在开发一个需要我输入名字的程序(例如帕特里克-康纳-奥尼尔)。名称可以由尽可能多的名称组成,因此不一定限于上面示例中所示的 3 个名称。但程序的重点是返回首字母缩写,因此在本例中为 PCO。我写信是想要求澄清一下。我需要先将名称与连字符分开,对吗?然后我需要取出名字的第一个字符并将其打印出来? 无论如何,我的问题基本上是如果我不知道输入了多少,如何分隔字符串?我知道如果只有两个术语我会这样做:
final String s = "Before-After";
final String before = s.split("-")[0]; // "Before"
我确实尝试编写代码,到目前为止我所拥有的是:
import java.util.Scanner;
public class main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String input = scan.nextLine();
String[] x = input.split("-");
int u =0;
for(String i : x) {
String y = input.split("-")[u];
u++;
}
}
}
我正在参加编程速成类(class),所以简单的概念对我来说很难。感谢您的阅读!
最佳答案
您不需要再次拆分它。通过执行 String[] x = input.split("-");
你就得到了一个字符串数组。现在您可以迭代它们,就像您已经使用增强的 for 循环所做的那样。它应该看起来像这样
String[] x = input.split("-");
String initials = "";
for (String name : x) {
initials += name.charAt(0);
}
System.out.println(initials);
这里是一些所使用方法的 Java 文档
关于java - 在java中分隔未知数量的连字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46686057/