调用实例变量的.length方法时出现‘cannot find symbol’错误
问题修复:Java String.length 符号找不到错误
错误原因很明确:Java的String类没有名为length的实例属性,获取字符串长度必须调用**length()方法**(注意带括号)。你代码里两处word.length都是直接访问属性的写法,这是错误的。
修改后的代码如下:
private String inWord(String str, int index) { if(str.equals(word.substring(index, index + 1))) return str; else { // 修复:将word.length改为word.length() for(int i = 0; i < word.length(); i++) { if(i != index && str.equals(word.substring(i, i + 1))) return "\"+\""; } } return "\"*\""; } public String getHint(String str) { String hint = "\"\""; // 修复:将word.length改为word.length() for(int i = 0; i < word.length(); i++) { hint += inWord(str.substring(i, i + 1), i); } return hint; }
额外优化建议:循环中用+=拼接字符串效率较低,建议改用StringBuilder来构建hint,不过这属于性能优化,不影响当前错误的修复。
内容的提问来源于stack exchange,提问作者nnmk1
相关产品推荐
相关产品推荐

