【问题标题】:"error: int cannot be dereferenced" while trying to subtract 1 from array.length尝试从 array.length 中减去 1 时出现“错误:无法取消引用 int”
【发布时间】:2016-03-10 19:08:01
【问题描述】:

正在开发一个单词搜索程序(与问题无关),我在尝试调试时偶然发现了这个错误(“错误:int 无法取消引用”)。

                if((wordList[currentWord][0] == board[r][c])&(wordList[currentWord][currentWord.length(-1)] == board[r][c-1])) //second letter up
            {
                System.out.println(wordList[currentWord][1]);
                foundRow = r;
                foundColumn = c;
                return true;
            }

尝试编译后,我收到:“error: int cannot be dereferenced”。我已经尝试对此错误进行一些研究,但我能找到的只是有关尝试检查此方法与普通整数之间等价性的信息,而不是尝试执行数学函数。提前谢谢你

【问题讨论】:

  • currentWord 是一个int。它没有length 方法。当你说currentWord.length(-1) 时,你想得到什么索引?
  • 在我的单词搜索程序中,我遇到了在单词搜索板上发现重复字母的问题。为了解决这个问题,我试图实现这些 if 语句,以保证不仅第一个字母是“匹配”,而且每个单词的第二个字符也是匹配“如果我想拼写苹果,并且板上有两个a,第一个没有“p”的a将不会被选为单词的起源)。希望能解释我的问题

标签: java compiler-errors int


【解决方案1】:

长度是一个属性,而不是一个方法。应该是这样的:

currentWord.length-1

编辑:从您使用 currentWord 的方式来看,它似乎是一个 int,并且 int 没有长度。这可能是你想要做的:

currentWord-1

【讨论】:

  • 括号是为了解决问题,我原来没有
  • 工作。谢谢你。出于某种原因,我认为我是按长度而不是索引来修改数组列表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-10
  • 2017-12-16
  • 2010-12-21
相关资源
最近更新 更多