“如何存储”&引用;(空白)在Java中的'int'数组中

“如何存储”&引用;(空白)在Java中的'int'数组中,java,arrays,Java,Arrays,我有一个int数组inta1[] 在我的代码中,如果条件满足,我想将a[I]的值替换为空白。例如,如果我的输出为: 1 2 3 4 5 6 我想做到: 1 2 4 5 6 我该怎么做 编辑:包含整数和空格混合的整数数组是我提出的解决方案,但似乎不起作用。我想要的只是一种获得我展示的输出的方法,目的是使我的输出更具吸引力。我正在做一个记忆游戏,我想在猜测正确时显示一个空格,这样用户就可以看到他的进度。简短回答:如果你不想这样做,你不能将空格(字符)存储为整数。 我会将int改为整数类型,这

我有一个
int
数组
inta1[]

在我的代码中,如果条件满足,我想将
a[I]
的值替换为空白。例如,如果我的输出为:

1 2 3 4 5 6
我想做到:

1 2   4 5 6
我该怎么做


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

简短回答:如果你不想这样做,你不能将空格(字符)存储为整数。 我会将int改为整数类型,这样就可以向数组中添加null值,如果找到null值,我会打印一个空格

但是,您可以获得这种字符的数字表示,但在这种情况下,它会更改数据类型。

Edit

对于您的记忆游戏,我建议使用一个模型类来保存数字,并指示是否已经猜到了。大致如下:

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
getNumber
isgustized
,以便演示文稿可以访问数据并决定如何向用户演示

原始答案

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

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


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

在你的评论中,你提到你正在做一个记忆游戏,空白只是为了让“正确的猜测”形象化。记住这一点,您可以保持现有数组不变,并引入并行的
boolean[]guesses=new boolean[a1.length]与值数组大小相同

然后更新
guesss[i]=true当有一个正确的猜测时,用如下内容打印数组

for (int i=0; i < a1.length; i++) {
   System.out.print(guesses[i] ? " " : a1[i]);
}
for(int i=0;i
你不能。空格不是有效的int。不能使用
int
数组。如果使用
整数
数组,则可以将该值替换为
。打印数组时,可以选择要显示的内容而不是
null
值。改为使用char数组。这听起来像是XY问题()。你能解释一下为什么想要一个包含整数和空格的混合整数数组吗?@如果只是为了显示,请使用String或char.ehm。。。您可以将字符存储为int。问题是将“”存储为int,然后打印它,打印一个表示该字符的数值,而不是一个空格。谢谢大家的回答,这正是我所寻找的,它解决了我的问题。谢谢。因为它只用于视觉表示,所以值不必是数字,使用字符串或图表数组会更容易,而且在记忆游戏中也会丢失有关原始数据(要猜测的值)的信息。这个解决方案在游戏数据和猜测之间创建了一个抽象层。这是怎么回事?您可以比较非int值,就像比较int一样简单谢谢您的回答。