I am making a method called “Swap” where it takes in a string in the parameters. My goal is to swap the first and last vowel of the String. That’s it.
My way of finding this goes like this:
(fVowel is the index of the first vowel)
(lVowel is the index of the last vowel)
(newWord is a string declared above)
(firstVowel is a character from the first vowel)
(lastVowel is a character from the last vowel)
All of these have been done ^, just need the algorithm below to be accurate.
for(int i = 0; i < s.length(); i++) { newWord += s.charAt(i); if(i == fVowel) { newWord += lastVowel; } if(i == lVowel) { newWord = s.substring(i-1, i); newWord += firstVowel; /* newWord.substring(i, i+1); newWord += firstVowel; */ } } System.out.println(newWord); return newWord; }
I am having trouble right now removing the character from the original string. I tried using substrings, but I can’t seem to have it figured out. Any help would be appreciated. Here’s an example of how it is suppose to work:
Main
swap("Red is rad"); swap("Hello Cats");
Output:
Rad is red Hallo Cets
Advertisement
Answer
Your algorithm would work if you replace the part starting with newWord += s.charAt(i);
with:
if(i == fVowel) { newWord += lastVowel; } else if(i == lVowel) { newWord += firstVowel; } else { newWord += s.charAt(i); }