簡體   English   中英

使用mutator方法Java更改2D數組中的元素

[英]Change an element in a 2D array using a mutator method Java

我正在編寫的《戰艦》程序中有三個類,一個驅動程序,一個域和一個輔助程序類。 我想使用mutator方法更改域類中chars的2D數組中元素的值,但是我一直收到“不兼容的類型:嘗試傳遞char時無法將char轉換為char [] []”錯誤。數組中的幫助器類到域類。 我做錯了什么,或者還有另一種方法可以做到這一點。

public void hitOrMiss() {
   char[][] tUGB = bShip.getUserGameboard();
   char[][] tGB = bShip.getGameboard();
    if (bShip.getGameboard()[bShip.getUserRow()][bShip.getUserCol()] == '0') {
        System.out.println("You missed!");
        tUGB[bShip.getUserRow()][bShip.getUserCol()] = 'O';
        bShip.setUserGambeboard(tUGB[bShip.getUserRow()][bShip.getUserCol()]);
        //this.userGameboard[userRow][userCol] = 'O';
        this.misses++;
        this.chances--;

    } else {
        System.out.println("You got a hit!");
        this.hits++;
        this.chances++;
        this.userGameboard[userRow][userCol] = this.hit;
        this.gameboard[userRow][userCol] = this.hit;
    }
}

這是mutator類

public void setUserGambeboard(char[][] aUserGameboard){
    this.userGameboard = aUserGameboard;

根據您的代碼, tUGB[bShip.getUserRow()][bShip.getUserCol()]將2d數組tUGB的值傳遞給需要char[][]

因此,錯誤是有道理的; charchar[][]是不兼容的類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM