gpt4 book ai didi

Java:从类中打印/返回数组

转载 作者:行者123 更新时间:2023-11-29 06:18:28 24 4
gpt4 key购买 nike

我为宾果游戏创建了一个类。我收到一条错误消息,提示“预期为‘class’”。我怎样才能将数组中的值返回给主启动器?任何其他评论也会有所帮助。谢谢。

import java.util.Random;
public class Card
{
Random generator = new Random();

private final int BOARDMAX = 4;
private final int NUMMAX = 59;
int i, j, m, n;
private int [][] ArrayBoard = new int[BOARDMAX][BOARDMAX];
String [][] StrArrayBoard = new String [BOARDMAX][BOARDMAX];

public void RandomNumGenerator()
{
for (i = 0; i<BOARDMAX; i++)
{
for (j = 0; j<BOARDMAX; j++)
{
ArrayBoard[i][j] = generator.nextInt (NUMMAX+1);
}
}

}

public String ShowBoard()
{
for (i = 0; i<BOARDMAX; i++)
{
for (j = 0; j<BOARDMAX; j++)
{
m=i;
n=j;
if (j != BOARDMAX)
StrArrayBoard[m][n] = ArrayBoard[m][n] + " ";
else
StrArrayBoard[m][n] = ArrayBoard[m][n] + " \n";
}
}
return StrArrayBoard[i][j];
}

public void ShowMark()
{
for (i = 0; i<BOARDMAX; i++)
{
for (j = 0; j<BOARDMAX; j++)
{
if (CardCheck [i][j] == 1)
StrArrayBoard[i][j] = ArrayBoard[i][j] + "* ";
else
StrArrayBoard[i][j] = ArrayBoard[i][j] + " ";
if (j == BOARDMAX)
ArrayBoard[i][j] = ArrayBoard[i][j] + "\n";
}
}
}

public String toString()
{
return ArrayBoard[][];
}
}

最佳答案

使用 toString() 您需要返回一个 String 对象,但实际上您试图返回一个 int[][]ShowBoard 也是如此,您尝试返回一个不兼容类型的字符串数组。

修复方法如下:

public String ShowBoard() {
// your code to populate StrArrayBoard

StringBuilder boardBuilder = new StringBuilder();
for (String[] row:StrArrayBoard)
for (String cell:row)
sb.append(cell);
return boardBuilder.toString();
}

public String toString() {
return ShowBoard();
}

我建议重构代码并重命名方法和字段:

ShowBoard()  -->  getBoardAsString()
ArrayBoard --> arrayBoard
StrArrayBoard --> strArrayBoard

并且不需要将 StrArrayBoard 声明为字段(类成员),因为您只需要在 ShowBoard 方法中使用它。在那里将其声明为局部变量。

关于Java:从类中打印/返回数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4142607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com