2011-02-27 54 views
1

在Java中。假設你給了下面的數組。或類似Java:Int數組,測量數組元素的長度

int[] anArray = {10, 20, 30, 40, 1000}; 

東西有一種方法使陣列元件的長度在anArray [4]; ?

我需要知道,如果數組[X]是== 4.在2004年或1000,或1968年

我怎樣才能做到這一點?

+1

你是什麼意思由數組元素的長度爲多少? –

回答

5

您可以將元素轉換爲字符串,並獲得字符串的長度,或者如果它的整數你可以測試,如果是1000和9999

2

之間的整數轉換爲字符串,並檢查長度:

anArray[x].toString().length() 
+0

我懷疑編譯器是否會這樣。你不能取消引用一個int,這不是一個使用自動裝箱的情況。 –

1

您可以將元素轉換爲字符串,然後查找字符串的長度。

您也可以在while循環中使用10重複除法來找到答案。

0

稍老派的做法:

int lengthOfElement4 = (int) Math.floor((Math.log(anArray[4])/Math.log(10) + 1); 

@馬克的第二個選項可能會更快,雖然...

1
if (Integer.toString(anArray[x]).length() == 4) { 
    // it's 4 long 
}