2015-10-03 197 views
0

我正在嘗試打印數組的內容。例如,我定義了一個大小爲10的int數組。但用戶只輸入了8個數字。所以數組中的最後兩個位置的值爲零。當我打印陣列時,我得到全部十個位置。是否可以直到用戶輸入才能打印。用戶還可以決定輸入多少,所以我不能硬編碼打印陣列的位置。謝謝。打印陣列

+0

請輸入您迄今爲止所做的代碼,以便有人可以幫助您解決問題 –

回答

1

是否可以直到用戶輸入才能打印。

是的,記錄用戶輸入的項目數。這可以通過一個單獨的int計數器變量完成,您可以在用戶輸入項目時增加該值,或者如果需要,可以使用用戶永遠不會輸入的值填充陣列,例如Integer.MIN_VALUE,然後直到顯示結果你達到了無意義的價值。這裏的危險是,如果用戶恰好選擇了無意義值,會發生什麼?這就是爲什麼我會選擇第一個建議。

此外,用戶決定輸入多少,所以我不能硬編碼打印陣列的位置。

是的,就像我上面說過的那樣。

編輯:或者最重要的是,只要做Patricia Shanahan說的。

1

如果您必須使用數組,請跟蹤Hovercraft Full Of Eels' answer建議的有效元素數。

如果您有選擇,則使用ArrayList時可能會更清潔,因爲您可以在添加元素時增大該值。這樣,在輸入結束時,它將具有正確的大小,並且可以打印整個文件。

+0

對於Sesha,這種方式總體上更好,因爲它更清潔,而且您不必在人爲限制條目數做一個固定大小的數組。 –