我正在打印一个由数字组成的矩阵,我使用一个二维数组来存储数字。我想用空格替换一些数字。以下不起作用,因为A是一个整数。
A[randomNum1][randomNum2] = "";
也无法进行投射
A[randomNum1][randomNum2] = (int)"";
我怎样才能做到这一点?
答案 0 :(得分:2)
如果A
是int[][]
数组,则无法完成。如果您使用Integer[][]
数组,则可以在数组中存储null
而不是空String
(以标记缺少值)。然后,当您打印数组时,遇到null
时可以打印空白区域。
答案 1 :(得分:0)
诸如int之类的数据类型定义了一组整数,而没有别的。然而,现实经常要求我们区分“其中一个值”和“没有一个”。术语“稀疏数组”有时用于表示不存在多个(许多)元素的数组。
您有几种选择。
这些替代方案各有其缺点,应该使用一些OO编程来使它们的处理更容易,即,应该使用get和set方法以及属性isNoneOfThem来编写类SparseArray。
答案 2 :(得分:0)
每当您不希望打印您的号码时,只需将其替换为您不需要存储的号码,例如NaN或极大数字(0xFFFFFFFF)。在您的打印代码中,只需在打印前检查数字,如果存储的数字是您的空间持有者编号,则只需打印空格字符而不是数字。
更好的方法当然包括制作一个由布尔组成的新阵列,并使用它们来存储或者不应该打印一个数字。