为了账号安全,请及时绑定邮箱和手机立即绑定

当调用方法时参数与方法类中的格式完全相同时参数不兼容

当调用方法时参数与方法类中的格式完全相同时参数不兼容

慕莱坞森 2022-06-23 08:58:37
我正在尝试在需要int[][][] table作为参数的不同类中使用方法,但是当我输入参数时它不会编译并说该方法不适用于该类型int[][][]::table但没有“ ::”我不确定在哪里这来自。这是我试图调用该方法的部分static void printTableOf(FSAe A) {    Utils.printTransitionTable(int[][][] table);}这是 utils 类文件中的方法:static void printTransitionTable(int[][][] table){    if (table.length == 0) return;    int columns = table[0].length;    String[] labels = new String[columns];    for (int i=0; i<labels.length; i++) {            if (i == columns-1)                labels[i] = "eps";            else                labels[i] = i+"";    }编辑:这是初始化表的方法:static int[][][] transitionTable(FSAe A)    {        int[][][] table = new int[A.numStates][A.alphabetSize+1][0];         for (int i=0; i<A.delta.length; i++)         {            int[] t = A.delta[i];            if (t[1] > -1)             {                  Utils.updateTable(table, t[0], t[1], t[2]);            }            else             {                Utils.updateTable(table, t[0], t[2], t[4]);            }        }        return table;    }
查看完整描述

3 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

在定义方法时使用数据类型,但在调用方法时不使用。调用方法时,您只需向其传递该类型的参数:

Utils.printTransitionTable(table);

这假设某处(未在您的方法中显示,因此可能在类级别)您有一个名为的变量 table该变量是int[][][]您传递给此方法调用的类型。


查看完整回答
反对 回复 2022-06-23
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

问题很简单。您要做的是将局部变量声明传递给该printTransitionTable方法。您需要正确声明和初始化table变量。


static void printTableOf(final FSAe A)  {

    final int[][][] table = Utils.transitionTable(A);

    Utils.printTransitionTable(table);

}

仅据您所知,::语法是表示method reference(文档)。


查看完整回答
反对 回复 2022-06-23
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

试试这个Utils.printTransitionTable(table);而不是Utils.printTransitionTable(int[][][] table);



查看完整回答
反对 回复 2022-06-23
  • 3 回答
  • 0 关注
  • 116 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信