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);
}
在这段代码中,我正在检查是否翻转的String的第一个字符是元音。如果是这样,我将在圆括号的开头添加一个括号,并将前5个字符移动到字符串的结尾。 Eclipse给了我
java.lang.NullPointerException
并说:“分配的左侧必须是变量。”我该怎么做才能解决此问题? 最佳答案
使用包含所有这些值的集合。
Set<Character> myList = new HashSet<Character>(Arrays.asList('a', 'e', 'i', 'o', 'u'));
if(myList.contains(Character.toLowerCase(flipped.charAt(0)))) {
// Do work
}
这行代码(虽然错误:
=
将分配,==
将进行比较)if (flipped.charAt(0) == "a" || "e" || "i" || "o" || "u"){
首先将比较
flipped.charAt(0) == "a"
,它返回一个布尔值。然后它将继续使用boolean || "e" || "i" || "o" || "u"
。boolean || "e"
是无效的代码。