java - 在java中分隔未知数量的连字符?

标签 java

美好的一天,伙计们, 我正在开发一个需要我输入名字的程序(例如帕特里克-康纳-奥尼尔)。名称可以由尽可能多的名称组成,因此不一定限于上面示例中所示的 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/

相关文章:

java - 为什么 IOException 不起作用但转到 InputMismatchException

java - GameHelper 在应用程序启动时崩溃

java - 基元的方法返回值协方差。有效吗?

Java 7 |我们可以并行下载 applet JAR 吗?

java - split() 分隔符之间没有任何内容 = 空字符串

java - ibatis 对于 "Insert"命令返回 NULL,而不是受影响的行数

java将xmldate转换为字符串日期,可能是时区问题

java - JPQL Hibernate NULLS LAST 被忽略

java - 在 Java 中提高数字的幂

java - 字符串的正则表达式错误