java - 如何在Java中将 ""(空格)存储在 `int`数组中

标签 java arrays

我有一个 int 数组 int a1[];

在我的代码中的某个时刻,如果条件满足,我想将 a[i] 的值替换为空格。例如,如果我的输出是:

1 2 3 4 5 6

我想做:

1 2   4 5 6

我怎样才能做到这一点?

编辑:包含整数和空格混合的整数数组是我提出的解决方案,但它似乎不起作用。我想要的只是一种获得我所展示的输出的方法,目的是使我的输出更具吸引力。我正在制作一个内存游戏,当猜测正确时,我想显示一个空白区域,以便用户可以看到他的进度。

最佳答案

编辑

对于你的内存游戏,我建议使用一个模型类来保存数字并指示它是否已被猜中。大致如下:

public class GameElement {
    final int number;
    boolean guessed = false;

    public GameElement(int number) {
        this.number = number;
    }

    public void setGuessed() {
        guessed = true;
    }

    @Override
    public String toString() {
        if (guessed) {
            return " ";
        } else {
            return String.valueOf(number);
        }
    }
}

您可能也想将要猜测的项目放入类中,这样您就可以将所有内容集中在一处(或者我误解了某些内容)。

更好的是,不要依赖 toString 方法,而是完全在模型类之外决定表示形式。为此,请添加 getter getNumberisGuessed,以便演示文稿可以访问数据并决定如何将其呈现给用户。

原始答案

正如评论中所说,这是不可能的。

您可以选择一个特殊的int值来表示“空格”,并记住每次都将其打印为空格。它很脆弱,因为其他程序员可能会忘记打印空格而只打印 int 值。

镀金的解决方案(希望你不需要它):设计一个抽象的 Element 类,它有两个子类:IntElementSpaceElement 并创建一个 Element 数组(您可能可以找到更好的名称)。让 IntElement 保存一个 int 并且它的 toString 返回 int 的字符串表示形式。让 SpaceElement 不包含任何数据,并且其 toString 返回一个由单个空格组成的字符串。现在您可以根据需要用数字和空格填充数组。

关于java - 如何在Java中将 ""(空格)存储在 `int`数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53389069/

相关文章:

arrays - 如何将函数映射到数组的每个元素?

javascript - js向数组添加数据,当数组为空时,将数据添加到n位置

javascript - Jquery、Javascript : Push a 2D array

java - 如何从请求中获取远程用户名

java - for循环只循环1次JAVA?

php - 如何调整 PDO fetchAll() 以设置为匹配多表查询中的表名称而创建的数组的键?

java - 如何在 Java 中将 int[] 转换为 Integer[]?

java - 使用 mondodb 在 Java 中找不到类 com.mongodb.BasicDBObject 错误的编解码器

Java 的构造函数和小数格式问题

java - 如何使用 fabric8 kubernetes Java 和 Scala 客户端 API 在容器上设置资源需求