我想知道是否还有像StringUilder的toUpperCase这样的东西?下面是我的代码,我正在尝试用户输入一个短语并将其转换为首字母缩略词。有人通过建议StringBuilder帮助我,但我无法弄清楚是否有办法使首字母缩略词成为大写。非常感谢任何帮助。
public class ThreeLetterAcronym {
public static void main(String[] args) {
String threeWords;
int count = 0;
int MAX = 3;
char c;
//create stringbuilder
StringBuilder acronym = new StringBuilder();
Scanner scan = new Scanner(System.in);
//get user input for phrase
System.out.println("Enter your three words: ");
threeWords = scan.nextLine();
//create an array to split phrase into seperate words.
String[] threeWordsArray = threeWords.split(" ");
//loop through user input and grab first char of each word.
for(String word : threeWordsArray) {
if(count < MAX) {
acronym.append(word.substring(0, 1));
++count;
}//end if
}//end for
System.out.println("The acronym of the three words you entered is: " + acronym);
}//end main
}//end class
答案 0 :(得分:6)
只需将大写字符串附加到它:
acronym.append(word.substring(0, 1).toUpperCase())
或从StringBuilder获取String时将String转换为大写:
System.out.println("The acronym of the three words you entered is: " + acronym.toString().toUpperCase());
答案 1 :(得分:0)
只需将大写字符串附加到StringBuilder即可。
//loop through user input and grab first char of each word.
for(String word : threeWordsArray) {
if(count < MAX) {
acronym.append(word.substring(0, 1).toUpperCase());
++count;
}//end if
}//end for
或者从StringBuilder获取String时大写字符串。
System.out.println("The acronym of the three words you entered is: " + acronym.toString().toUpperCase());
如果您需要图书馆,请查看Apache Common Lang WordUtils,WordUtils.capitalize(str)
。