Принудительно использовать stringBuilder в верхнем регистре

Мне было интересно, если есть в любом случае использовать что-то вроде toUpperCase для StringBuilder? Ниже мой код, я пытаюсь взять пользовательский ввод фразы и превратить ее в аббревиатуру. Кто-то помог мне, предложив 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

2 ответа

Решение

Просто добавьте к нему строки в верхнем регистре:

acronym.append(word.substring(0, 1).toUpperCase())

или поверните строку в верхний регистр, когда получаете строку из StringBuilder:

System.out.println("The acronym of the three words you entered is: " + acronym.toString().toUpperCase());

Просто добавьте верхний регистр String в 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 

Или верхний регистр String при получении его из StringBuilder.

System.out.println("The acronym of the three words you entered is: " + acronym.toString().toUpperCase());

Если вам нужна библиотека, взгляните на Apache Common Lang WordUtils, WordUtils.capitalize(str),

Другие вопросы по тегам