java - java中如何在字符列表中添加值并在下一个值为空时停止添加

标签 java arrays string list

我有一个二维数组。以下是我的输入

苹果.CHIK

PB

逃脱.OTHER

上面的每个输入都代表一个字符和“.”代表NULL字符。这些值位于二维数组中。我想将值添加到列表中,继续添加,如果下一个值为“.”则停止添加。 .

预期输出:

苹果奇克逃脱其他

实际输出:

APPLCHIESCAPOTHE

如您所见,“APPLE”中的字母“E”、“CHIK”中的“K”、“ESCAPE”中的“E”和“OTHER”中的“R”不会添加到列表中,因为它不符合条件

我尝试过以下代码,

            if (((j + 1) < box[i].length ) && (box[i][j+1]!= null))
            {

                ans.add(box[i][j].getSolution());

            }

我什至尝试了下面的代码,

        if (((j + 1) < box[i].length ) && (box[i][j]!= null))
            {

                ans.add(box[i][j].getSolution());

            }

当我尝试这个时,输出是,

APPLECHICPBESCAPEOTHER

但我不希望添加字符“P”和“B”,因为后面没有任何字符。

在代码中,“ans”是一个字符列表。我正在检查下一个框是否不为空,然后将值添加到字符列表中。但由于“APPLE”的下一个字符为空值,因此当它在循环中到达字符“E”时,条件失败,并且字符“E”不会添加到列表中。但我不能错过“IF NEXT VALUE IS NULL”条件,因为它会影响我的游戏逻辑。

所以,我需要实现以下目标,

迭代二维数组,将值添加到字符列表,如果下一个值为空则停止

由于值已添加到字符列表中,我不知道如何再次对字符进行分组以将其显示为有意义的单词。那么,是否可以将过滤后的值添加到字符串数组中?

注意:这是一款益智游戏,此处的输入是网格中的“交叉线索”

最佳答案

问题(在您的第一种方法中)是您仅添加后面不跟有 null 的字符。表示不会添加最后一个字符(例如 APPLE)。

如果您不想添加单个字符(例如 P.),也许您应该首先检查 null 之前的字符数是否大于 1。

然后循环所有字符并将它们添加到 ans 中,直到找到 null

关于java - java中如何在字符列表中添加值并在下一个值为空时停止添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36974321/

相关文章:

java - 如何在weblogic服务器9.2上设置代理

arrays - 转换字符串?

用于选择列中由空格分隔的最常见子字符串的 MySQL 查询?

python - 将字符串相乘,使其垂直向下移动一页?

c - 为什么strlen()替换一个字符串?

java - 变量在打印出来之前不会更新?

java - 将 Java 后台进程输出重定向到/dev/null - 这是个好主意吗?

java - 将 ResultSet 添加到 Jtable 中(两个类之间)

Javascript 使用键连接/合并数组

c - 仅反转 C 中句子的顺序