gpt4 book ai didi

java - 递归 - boolean 和大信号

转载 作者:行者123 更新时间:2023-11-29 08:44:08 28 4
gpt4 key购买 nike

如果字符串中的所有大字符,函数返回true否则为假。

我有一个问题如何检查字符是否是大写字母。

行编译错误:

(str.charAt(n-1) != check)

错误:

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);
}

最佳答案

下面是我的做法:

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 个问题:

  1. 您尝试将 charboolean 进行比较,它们是不兼容的基本类型。
  2. 如果 n0,则方法退出,这是错误的,因为 0 是有效索引,因此应将其视为正常情况。

关于java - 递归 - boolean 和大信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37712285/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com