Java I';我得到了这个错误信息,并理解了为什么:不能应用于给定的类型;必需:未找到任何扩充:int,int

Java I';我得到了这个错误信息,并理解了为什么:不能应用于给定的类型;必需:未找到任何扩充:int,int,java,Java,这可能是一种睡眠不足的情况,但我不明白为什么我会收到这个信息,我知道这将是一个简单的解决办法,但我不能缠绕我的头围绕它,任何帮助是感激的 对于上下文,我尝试获取用户的输入,然后将其插入,并将其与2D数组中的值进行比较 这就是我要比较的数组 String[][]板={{{-”、“-”、“-”、“-”、“-”、“-”、“-”、“-”、“-”, {"-", "-", "-", "-", "-", "-", "-", "-"},{"-", "-", "-", "-", "-", "-", "-", "-

这可能是一种睡眠不足的情况,但我不明白为什么我会收到这个信息,我知道这将是一个简单的解决办法,但我不能缠绕我的头围绕它,任何帮助是感激的

对于上下文,我尝试获取用户的输入,然后将其插入,并将其与2D数组中的值进行比较

这就是我要比较的数组

String[][]板={{{-”、“-”、“-”、“-”、“-”、“-”、“-”、“-”、“-”,
{"-", "-", "-", "-", "-", "-", "-", "-"},{"-", "-", "-", "-", "-", "-", "-", "-"},
{"-", "-", "-", "-", "-", "-", "-", "-"},{"-", "-", "-", "-", "-", "-", "-", "-"},
{"-", "-", "-", "-", "-", "-", "-", "-"},{"-", "-", "-", "-", "-", "-", "-", "-"},
{"-", "-", "-", "-", "-", "-", "-", "-"}};
public void makeMove(){
扫描仪选择=新扫描仪(System.in);
System.out.println(“输入行”);
int tempCol=choice.nextInt();
System.out.println(“现在是列”);
int tempRow=choice.nextInt();
//a.设定值(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是有效的(){
如果(板[tempRow][tempCol]=“W”){
显示();
}否则{
System.out.println(“移动无效,重试”);
makeMove();
}
}
这也会抛出一条不同的错误消息,但我将创建一个新问题,因为

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

public void isValid(int tempRow, int tempCol){
    if(board[tempRow][tempCol] = "W"){
        display();
    } else {
        System.out.println("Move invalid, try again");
        makeMove();
    }
}
isValid()未声明任何参数,但您正在传递两个整数。你想这样申报吗

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

您的
isValid
方法不接受任何参数,但无论如何都要尝试将其传递2
int
s。您必须将您的声明更改为:

public void isValid(int tempRow, int tempCol){

这样,它实际上可以接受您的
int
s并对其进行处理。

您的
方法是有效的
方法不接受任何参数,但您无论如何都要尝试将其传递2
int
s。您必须将您的声明更改为:

public void isValid(int tempRow, int tempCol){

这样,它实际上可以获取您的
int
s并处理它们。

我知道这很简单,但我希望它至少比这复杂一点,谢谢!我知道这很简单,但我希望它至少比那复杂一点,谢谢!为了进一步补充所有答案,您似乎还有一个名为“board”的类以及一个名为相同名称的数组。这是令人困惑的。另外,如果调用方法“isXxxx”,按照惯例,该方法应该返回布尔值,并且应该在
if(isXxxx(…)…
之类的语句中使用它。isValid方法返回void。或者重命名它(可能是
validate()
?),或者在if语句中使用它。要进一步添加到所有答案中,您似乎还有一个名为“board”的类以及一个名为相同名称的数组。这是令人困惑的。另外,如果调用方法“isXxxx”,按照惯例,该方法应该返回布尔值,并且应该在
if(isXxxx(…)…
之类的语句中使用它。isValid方法返回void。重命名它(可能是
validate()
?)或在if语句中使用它。