This is an updated version of my previous Java program that asks the user for a sentence and then separates the words and then converts the sentence into Pig Latin. My previous program was working, but there was some tweaking that needed to be done which I did after getting positive feedback. Apparently, my loop in the separateWords function was checking for capital letters twice or so. I have included the instructions for the assignment for reference and the code for peer edit.The program will accept a string as input in which all of the words are run together, but the first character of each word is uppercase. Convert the string to a string in which the words are separated by spaces and only the first word starts with an uppercase letter. For example, the string StopAndSmellTheRose would be converted to Stop and smell the rosesThen the program will convert each word in the result string of task 1 into Pig Latin. In one version of Pig Latin, you convert a word by removing the first letter, placing that letter at the end of the word, and then appending ay to the word.For example, for the result string Stop and smell the roses in task 1, the Pig Latin string should be topSay ndaay mellsay hetay osesrayRequirements:Your program should have 3 methods: a main method, a method for task 1, and a method for task2the method for task 1 should return the result string of task1the method for task 2 should display the Pig Latin stringpublic class Assignment9 {public static void main(String[] args) {        // Variables    String sentence, revisedSentence;     // Create a Scanner object for keyboard input    Scanner keyboard = new Scanner(System.in);     // Get the input string    System.out.print(Enter sentence: );    sentence = keyboard.nextLine();     //Close keyboard    keyboard.close();    // Call function to perform Task 1    revisedSentence = separateWords(sentence);     System.out.print(Revised Sentence:  +revisedSentence);     // Call function to perform Task 2    toPigLatin(revisedSentence); }private static String separateWords(String sentence) {    // Variables     StringBuilder str = new StringBuilder(sentence);     int i = 1;      // While loop repeats until the end of the sentence    while (i < str.length())    {        // Checks for upper case characters        if(Character.isUpperCase(str.charAt(i)))        {            str.insert(i, ' ');             i++;            char ch = Character.toLowerCase(str.charAt(i));             str.setCharAt(i, ch);        }        i++;     }    return str.toString();}private static void toPigLatin(String revisedSentence) {       // Variables    String latin =  ;     // Split sentence by spaces    String[] tokens = revisedSentence.split( );           // Convert English sentence into Pig Latin     for (int i = 0; i < tokens.length; i++)    {        // Get string from array        String str = tokens[i];         // Get first letter from string        String str1 = str.substring(0, 1);         // Get substring from string        String str2 = str.substring(1, str.length());         // Concatenate the two strings in a required format        str2 = str2.concat(str1);         // Concatenate the result and AY         str2 = str2.concat(ay);         // Make a sentence with all the words         latin = latin.concat(str2 +  );     }    // Display pig latin verison    System.out.println(\nPig Latin Version: +latin );     }}
Word separator and Pig Latin program - final edit
java;strings;pig latin