我正在尝试让一个程序运行,它执行以下操作:
假设我们有一个名为 name
的 String
,设置为 "Stack Overflow Exchange"
。我想输出给用户 "SOE"
,每个单词的第一个字符。我尝试使用 split()
方法,但我没有成功。
我的代码:
public class q4 {
public static void main(String args[]) {
String x = "michele jones";
String[] myName = x.split("");
for(int i = 0; i < myName.length; i++) {
if(myName[i] == "") {
String s = myName[i];
System.out.println(s);
}
}
}
}
我正在尝试检测是否有任何空格,然后我可以简单地获取下一个索引。谁能告诉我我做错了什么?
最佳答案
String initials = "";
for (String s : fullname.split(" ")) {
initials+=s.charAt(0);
}
System.out.println(initials);
这是这样工作的:
- 声明一个变量“initials”来保存结果
- 在空格上拆分全名字符串,并迭代单个单词
- 将每个单词的第一个字符添加到首字母
编辑:
如建议的那样,字符串连接通常效率不高,如果您正在处理很长的字符串,StringBuilder 是更好的选择:
StringBuilder initials = new StringBuilder();
for (String s : fullname.split(" ")) {
initials.append(s.charAt(0));
}
System.out.println(initials.toString());
编辑:
您可以简单地获取一个字符串作为字符数组:
char[] characters = initials.toString().toCharArray();
关于java - 获取字符串中每个单词的第一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26180992/