How to set First letter from String for capitalization in java?

Total Post:29

 2284  View(s)
Rate this:

I want to take a String input form a user, and format it so that the first letter is capitalized and the rest is not. I would like to do this by splitting the first letter from the string and use .toUpperCase() on it and use .toLowerCase() on the rest, and then merge them back together.

I have an idea, but can't solve everything:

userInput = input.nextLine();
String firstLetter = ???
String merged = firstLetter + restOfString;
This does NOT seem to work:
            name = input.nextLine();
            firstLetter = name.substring(0,1);
            remainingString = name.substring(1);
            name = firstLetter + remainingString;

  1. Post:51

    Re: How to set First letter from String for capitalization in java?

    You can use substring.

    String firstLetter = userInput.substring(0,1); //takes first letter

    String restOfString = userInput.substring(1); //takes rest of sentence

    firstLetter = firstLetter.toUpperCase(); //make sure to set the string, the methods return strings, they don't change the string itself

    restOfString = restOfString.toLowerCase();

    String merged = firstletter + restOfString;


     If you wish to do error-checking on the user's input:

    if(userInput.length < 2) {

        throw new InputMismatchException("Sentence to short to properly capitalize!";