首页 > 解决方案 > 如何在 Java 中的“int”数组中存储“”(空格)

问题描述

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

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

1 2 3 4 5 6

我想做:

1 2   4 5 6

我怎样才能做到这一点?

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

标签: javaarrays

解决方案


编辑

对于您的记忆游戏,我建议使用模型类来保存数字并指示它是否已被猜到。这些方面的东西:

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一个inttoString返回一个字符串表示int。不SpaceElement包含任何数据,它toString返回一个由单个空格组成的字符串。现在,您可以根据需要用数字和空格填充数组。


推荐阅读