我正在努力编写这个程序。我在网上发现了许多类似的问题和解决方案,但它们并不是我想要的。
我的程序读取了一个文本文件,并将其转换为char 2D数组。
示例文本文件:
HFELOJF
ESFOIGD
LSDIOGS
LTDMGER
OEROFFT
SFDLKEG
然后我给它一个单词,如“你好”,程序打印出天气或不存在数组中存在的单词。有点像单词搜索。
我需要能够水平,垂直和对角搜索。但在所有3个案例中,这个词也可以倒退。
我已经开始使用2个for for循环从左上角开始并一直到最后。
在第二个for循环中,我有3个while循环来处理:水平,垂直和对角线文本。但我只是意识到,如果这个词是相反的话它就不起作用。现在为了让我解决这个问题,我必须构建另外3个while循环来处理我的代码。
我发现这非常重复,并认为必须有一个更简单的方法。但我一直盯着这个问题几个小时,并没有提出更明智的想法。
如果我继续我拥有的东西,我会在第二个for循环中有2个for循环和6个while循环,我发现它非常混乱,重复和额外的代码。是否有更好,更快,更有效的方法来解决这个问题?
感谢我能得到的所有帮助和信息!
答案 0 :(得分:2)
如果您只想查看反向
String reverse = new StringBuffer(string).reverse().toString();
答案 1 :(得分:0)
我将如何做到这一点。循环遍历每个字母。假装字母是单词的开头或结尾字母。如果在“你好”的情况下不是'h'或'o',那就跳过它。然后对每个字母检查对角线,水平和垂直方向。如果你这整个反向的事情困扰你忽略它。只需搜索字母'h',并确保检查该信中的所有路线。