Why won't my code compile which checks if a string begins with vowel?
java, nullpointerexception, string
Solution
Use a collection that holds all of these values.
Set<Character> myList = new HashSet<Character>(Arrays.asList('a', 'e', 'i', 'o', 'u'));
if(myList.contains(Character.toLowerCase(flipped.charAt(0)))) {
// Do work
}
This line of code (while wrong: `=` will assign, `==` will compare)
if (flipped.charAt(0) == "a" || "e" || "i" || "o" || "u"){
will first compare `flipped.charAt(0) == "a"` which returns a boolean. Then it will continue with `boolean || "e" || "i" || "o" || "u"`.
`boolean || "e"` is not valid code.
Problem
``` if (flipped.charAt(0) = "a" || "e" || "i" || "o" || "u"){ paren = "(" + flipped; String firstpart = paren.substring(0,5); String rest = paren.substring(5); System.out.println(rest+firstpart); } ``` In this code, I'm looking to check if the first character of String flipped is a vowel. If it is, I'm adding a parenthesis to the beginning and moving the first 5 characters to the end of the string. Eclipse is giving me `java.lang.NullPointerException` and saying that "The left-hand side of an assignment must be a variable." What can I do to fix this?