簡體   English   中英

如何修復錯誤“二元運算符 '>=' 第一種類型的錯誤操作數類型:int[] 第二種類型 int”

[英]How to fix the error "Bad Operand Types for Binary Operator '>=' first type: int[] second type int"

**錯誤在於這一行:**

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[]具體而言),因為你的板是int[][] 要使其成為int ,您需要添加第二個索引,就像您在以下幾行中所做的那樣: board[r + vertical[movenumber]][c + horizontal[movenumber]]

快速瀏覽一下代碼,我認為它應該是r + vertical[movenumber] <= 8

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM