Java 如何修复错误“二进制运算符的错误操作数类型'>='第一种类型:int[]第二种类型int”
**错误在这一行:**Java 如何修复错误“二进制运算符的错误操作数类型'>='第一种类型:int[]第二种类型int”,java,knights-tour,Java,Knights Tour,**错误在这一行:** if ((board[r + vertical[movenumber]]) <= 8 && board[r + vertical[movenumber]] >= 1) **整个方法(如需要):** public void tour() { int starter = 1; int start1 = (int)(Math.random() * 8 - 1) + 1; int start2 = (int)(Math.r
if ((board[r + vertical[movenumber]]) <= 8 && board[r + vertical[movenumber]] >= 1)
**整个方法(如需要):**
public void tour()
{
int starter = 1;
int start1 = (int)(Math.random() * 8 - 1) + 1;
int start2 = (int)(Math.random() * 8 - 1) + 1;
board[start1][start2] = starter;
int r = start1;
int c = start2;
for (int count = 0; count < board[row].length; count++)
{
numb[count] = count;
}
for (int runs = 2; runs <= 64; runs++)
{
int movenumber = (int)(Math.random() * 8 - 1) + 1;
if ((board[r + vertical[movenumber]]) <= 8 && board[r + vertical[movenumber]] >= 1)
{
if (board[r + vertical[movenumber]][c + horizontal[movenumber]] == 0)
{
board[r + vertical[movenumber]][c + horizontal[movenumber]] = runs;
// System.out.println(r + "," + c);
r = r + vertical[movenumber];
c = c + horizontal[movenumber];
}
}
}
}
错误非常具体-您试图将数组与int进行比较。 board[r+vertical[movenumber]]表达式是一个数组或int[],具体来说,因为您的board是int[]。要使其成为int,需要添加第二个索引,就像在以下行中所做的那样:board[r+vertical[movenumber]][c+horizontal[movenumber]]
快速浏览一下代码,我认为应该是r+vertical[movenumber],如果有帮助,请接受答案好吗?谢谢