【发布时间】:2014-11-19 18:55:25
【问题描述】:
我正在研究一种方法,该方法将字符串数组作为输入并返回其首字母缩略词的数组,这些首字母缩写词仅为大写字母。
例如:
[United Nations, United Federation of Planets, null, , ignore me] -> [UN, UFP, null, , ]
由于某种原因,我的代码没有返回任何内容,而且它还显示 null 检查是无效代码,我不知道为什么。
public static String[] convertStringsToAcronyms(String[] input)
{
int itemCount = input.length;
String[] result = new String[itemCount];
int k = 0;
for (String words : input) {
boolean checklowercase = words.toLowerCase().equals(words);
if (checklowercase || (words == ""))
result[k] = "";
if (words == null)
result[k] = null;
String add = "";
String[] ary = words.split("");
for (String letter : ary) {
char firstletter = letter.charAt(0);
if (Character.isUpperCase(firstletter))
add = add + firstletter;
}
result[k] = add;
k++;
add = "";
}
return result;
}
【问题讨论】:
-
不要太挑剔,但是一旦你有了一个工作方法,你最好让这个方法接受并返回一个字符串,而不是一个数组。这概括了一些。让调用方法操心数组的处理,然后你就可以从只有一个字符串的方法中调用它。
标签: java arrays string dead-code acronym