如果字符串中包含所有大字符,则该函数返回true 否则是假的。
我有一个问题,如何检查字符是否是大写字母。
编译错误:
(str.charAt(n-1) != check)
the eror:
The operator != is undefined for the argument type(s) char, boolean
代码:
public static boolean ifCharBig(String str,int n){
boolean check =Character.isUpperCase(str.charAt(n));
if (n == 0)
return true;
if (str.charAt(n-1) != check)
return false;
return ifCharBig(str, n - 1);
}
答案 0 :(得分:4)
我将如何做到这一点:
public static boolean ifCharBig(String str){
return ifCharBig(str, str.length() - 1);
}
public static boolean ifCharBig(String str, int n){
if (n == -1)
return true;
return Character.isUpperCase(str.charAt(n)) && ifCharBig(str, n - 1);
}
System.out.println(ifCharBig("fOo"));
System.out.println(ifCharBig("fOO"));
System.out.println(ifCharBig("FOO"));
<强>输出:强>
false
false
true
您的代码确实存在2个问题:
char
与boolean
进行比较,这些基本类型不兼容。n
为0
,那么您的方法会退出,这是一个错误,因为0
是一个有效的索引,因此应将其视为正常情况。