java—我得到了这个错误消息并理解了原因:不能应用于给定的类型;必需:未找到扩充:int,int

sauutmhj  于 2021-07-03  发布在  Java
关注(0)|答案(2)|浏览(283)

这可能是睡眠不足的情况,但我不明白为什么我得到这个信息,我知道这将是一个简单的解决办法,但我不能把我的头围绕它,任何帮助是感激的。
对于context,我尝试获取用户的输入,然后将其插入,并将其与2d数组中的值进行比较。
这就是我要比较的数组

String[][] board = {{"-", "-", "-", "-", "-", "-", "-", "-"},
    {"-", "-", "-", "-", "-", "-", "-", "-"},{"-", "-", "-", "-", "-", "-", "-", "-"},
    {"-", "-", "-", "-", "-", "-", "-", "-"},{"-", "-", "-", "-", "-", "-", "-", "-"},
    {"-", "-", "-", "-", "-", "-", "-", "-"},{"-", "-", "-", "-", "-", "-", "-", "-"},
    {"-", "-", "-", "-", "-", "-", "-", "-"}};
public void makeMove(){
        Scanner choice = new Scanner(System.in);
        System.out.println("Enter the row");
        int tempCol = choice.nextInt();

        System.out.println("Now the column");
        int tempRow = choice.nextInt();

        //a.setPiece(tempRow, tempCol, "W");
        a.isValid(tempRow, tempCol);
    }

a、 isvalid正在抛出错误消息:

method isValid in class board cannot be applied to given types;
    required: no arguments
    found: int, int
    reason: actual and formal argument lists differ in length

这就是我试图与之沟通的方法:

public void isValid(){
        if(board[tempRow][tempCol] = "W"){
            display();
        } else {
            System.out.println("Move invalid, try again");
            makeMove();
        }
    }

这也抛出了一个不同的错误消息,但我将创建一个新的问题

mqkwyuun

mqkwyuun1#

isvalid()没有声明任何参数,但您正在传递两个int。你想这样申报吗?

public void isValid(int tempRow, int tempCol){
    if(board[tempRow][tempCol] = "W"){
        display();
    } else {
        System.out.println("Move invalid, try again");
        makeMove();
    }
}
zujrkrfu

zujrkrfu2#

你的 isValid 方法不接受任何参数,但您尝试将其传递给2 int 不管怎么说,这是我的错。你得把你的声明改成:

public void isValid(int tempRow, int tempCol){

这样你就可以 int 并处理它们。

相关问题