我在尝试编写此程序时遇到困难。我在网上发现了许多类似的问题和解决方案,但这些并不是我要找的。

我的程序读取了一个文本文件,并将其转换为char 2D数组。

样本文本文件:

HFELOJF
ESFOIGD
LSDIOGS
LTDMGER
OEROFFT
SFDLKEG


然后,我给它一个单词,例如“ hello”,然后程序将打印出天气或该单词是否存在于数组中。有点像单词搜索。

我需要能够水平,垂直和对角搜索。但是,在所有3种情况下,单词都可以倒退。

我从2个for循环开始,从左上角开始一直到结束。

在第二个for循环中,我有3个while循环要处理:水平,垂直和对角线文本。但是我只是意识到,如果单词相反,那是行不通的。现在,为了解决此问题,我必须构造另外3个while循环以使用我的代码。

我只是觉得这很重复,并且认为必须有一个更简单的方法。但是我已经盯着这个问题好几个小时了,并且没有想到一个更聪明的主意。

如果继续我所拥有的,我将在第二个for循环中有2个for循环和6个while循环,我发现它们非常混乱,重复和多余的代码。有没有更好,更快,更有效的方法来解决这一问题?

感谢所有我可以获得的帮助和信息!

最佳答案

如果您只想检查反向

String reverse = new StringBuffer(string).reverse().toString();

关于java - 在Java中水平,垂直和对角线(两个方向)上搜索2D数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19473990/

10-09 21:54