Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 实现拼字板_Java - Fatal编程技术网

Java 实现拼字板

Java 实现拼字板,java,Java,假设我有一个类正方形,如下所示: class Square{ private String letter; private boolean isfilled; } 现在我们知道拼字板上有15x15个正方形。有谁能帮我在board类中使用Square类,并检查约束条件(如左侧是否有空间或右侧是否有空间)来组成拼字板吗?我不完全熟悉拼字的规则,但根据您提到的,我将定义一个二维方形实例数组 private Square squares[][] = new Square[15][15]; 您可能应该

假设我有一个类正方形,如下所示:

class Square{
private String letter;
private boolean isfilled;
}

现在我们知道拼字板上有15x15个正方形。有谁能帮我在board类中使用Square类,并检查约束条件(如左侧是否有空间或右侧是否有空间)来组成拼字板吗?

我不完全熟悉拼字的规则,但根据您提到的,我将定义一个二维方形实例数组

private Square squares[][] = new Square[15][15];
您可能应该在构造函数中实例化这些正方形

之后,您应该提供一个接口来设置给定坐标的值

public void setSquare(int x, int y, String value)
将此字符串设置为指定的正方形。此外,如果字符串为空或null(以您喜欢的为准),则正方形变为“unset”。如果参数在范围内(在0-14范围内),此方法还应验证参数。您也可以选择在另一个函数中实现该验证,例如:

public boolean isValidCoordinate(int x, int y)
因此,如果超出数组的有效索引集的界限,您将不会遇到太多问题,您可以使用四边的方形缓冲区来定义电路板

private Square squares[][] = new Square[17][17];
有了这个电路板,唯一有效的方块是1-16。任何带有1或17的x或y值都无效

就我个人而言,我会简单地使用字符串,而不是定义一个对象正方形(如果这是你唯一要做的事情)


空字符串或空字符串(以两者为准)未设置。否则,如果您要在正方形中实现任何其他方法,那么我想为它们定义一个类是可以的。

您肯定对如何开始有一些想法——也许是数组?来吧,试试看。你可能会对自己能做的事感到惊讶。然后,如果仍然卡住,我们可以查看您的代码尝试,并在一个更好的位置提供体面的帮助。您可以使用数组:
Square[15][15]squares从对象和类的角度思考。你已经从一个
Square
类开始了正确的方向。在OO设计中,你还能想到什么可以准确地表示出来?可能是一个
游戏板
类。也许是一个
GameBoard
类组成了一个
Scrabble
类!谢谢,这很有帮助。。。。!!!!
private String squares[][] = new String[17][17];