亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當調用方法時參數與方法類中的格式完全相同時參數不兼容

當調用方法時參數與方法類中的格式完全相同時參數不兼容

慕萊塢森 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 關注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號