我在尝试编写此程序时遇到困难。我在网上发现了许多类似的问题和解决方案,但这些并不是我要找的。
我的程序读取了一个文本文件,并将其转换为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/