2

我想让这个功能起作用。游戏循环调用此函数以获取表中选定的行。我不明白为什么会出现以下错误消息:此行的多个标记 - 类型不匹配:无法从 int 转换为 int[] - 标记“[”上的语法错误,此标记后应为表达式

想知道是否有人可以解释我需要更改什么才能使我的函数 getRows 工作。感谢您抽出宝贵时间,希望很快能收到回复。

    public int[] getRows(JTable table) {    
    rows[0] = table.getSelectedRow();
    rowCount = table.getSelectedRowCount() - 1;
    rows[1] = rows[0] + rowCount;
    return rows[];
}
4

2 回答 2

5

错误很简单,解释不是。

你做错了什么:return rows[];。应该是return rows;

说明:

当你想返回一个数组时,你不应该添加括号。如果你想返回一个数组中的一项,你应该写return array[index];. 在您的情况下,编译器的想法是您试图从数组中返回一个 introws但忘记了索引,这是一个语法错误。类型不匹配是因为你说你会在方法头中返回一个int[](并且编译器认为你试图返回一个int,还记得吗?)。

于 2013-01-12T16:33:53.373 回答
0
public int[] getRows(JTable table) {    
    rows[0] = table.getSelectedRow();
    rowCount = table.getSelectedRowCount() - 1;
    rows[1] = rows[0] + rowCount;
    return rows; //////////without brackets
}
于 2013-01-12T16:42:13.447 回答