2015-10-03 168 views
0

我正在尝试打印数组的内容。例如,我定义了一个大小为10的int数组。但用户只输入了8个数字。所以数组中的最后两个位置的值为零。当我打印阵列时,我得到全部十个位置。是否可以直到用户输入才能打印。用户还可以决定输入多少,所以我不能硬编码打印阵列的位置。谢谢。打印阵列

+0

请输入您迄今为止所做的代码,以便有人可以帮助您解决问题 –

回答

1

是否可以直到用户输入才能打印。

是的,记录用户输入的项目数。这可以通过一个单独的int计数器变量完成,您可以在用户输入项目时增加该值,或者如果需要,可以使用用户永远不会输入的值填充阵列,例如Integer.MIN_VALUE,然后直到显示结果你达到了无意义的价值。这里的危险是,如果用户恰好选择了无意义值,会发生什么?这就是为什么我会选择第一个建议。

此外,用户决定输入多少,所以我不能硬编码打印阵列的位置。

是的,就像我上面说过的那样。

编辑:或者最重要的是,只要做Patricia Shanahan说的。

1

如果您必须使用数组,请跟踪Hovercraft Full Of Eels' answer建议的有效元素数。

如果您有选择,则使用ArrayList时可能会更清洁,因为您可以在添加元素时增大该值。这样,在输入结束时,它将具有正确的大小,并且可以打印整个文件。

+0

对于Sesha,这种方式总体上更好,因为它更清洁,而且您不必在人为限制条目数做一个固定大小的数组。 –