2011-09-25 94 views
0

我使這個數組的第一個數字應該是15,第三個數組。然後我需要在屏幕上打印數組,但是當我這樣做時出現錯誤,我讀到了打印數組時要寫一個循環。那可能怎麼樣?Java:簡單數組

這是我現在的代碼。

int[] i = {15,0,15,0,0}; 
    System.out.println(i); 

,什麼是使用這種方法或提前使用

int [] i = new int [5]; 

感謝差異,

邁克爾。

回答

2

速記你可以寫這樣的循環:

for(int j=0; j < i.length; j++) { 
    System.out.println("Value at index " + j + ": " + i[j]"); 
} 
5

打印陣列使用Arrays.toString();

import java.util.Arrays; 

System.out.println(Arrays.toString(i)); 


// or print it in the loop 
for(int e : i) { 
    System.out.print(e); 
} 

關於兩種方法之間的差異:

int [] i = new int [5]; // five evements are allocated 

// the number of elements are determined by the initialization block 
int[] i = {15,0,15,0,0}; 
+0

是否這樣? int [] i = {12,0,12,0,0}; \t \t System.out.println(Arrays.toString(i)); 這是行不通的。我是否需要導入某些內容才能使用它?循環不是更好嗎?這正是我聽到的,所以我想知道如何將它打印成循環。謝謝 – Michael

+0

邁克爾,看我的編輯。 –

1

That code executes just fine,雖然它可能不是你所期望爲toString()的默認值(這是被執行)的字符串被定義爲:

getClass().getName() + '@' + Integer.toHexString(hashCode()) 

要打印字符串的實際內容,您應該使用例如@Oleg建議的方法。

聲明int[] i = {15,0,15,0,0};只是爲了更詳細

int [] i = new int [5]; 
i[0] = 15; 
i[1] = 0; 
i[2] = 15; 
i[3] = 0; 
i[4] = 0; 
1

它被認爲在Java中的「錯誤」是有對的toString沒有實施() - 你得到java.lang.Object的實現。

相反,您必須使用靜態方法Arrays.toString(array)

編寫這個int [] i = new int [5];爲5個元素分配內存,但它們都被初始化爲零(0)。你將不得不編寫更多的代碼來爲元素賦值。

0

要麼你可以打印這樣的:

for (int index=0; index<i.length; index++) 
System.out.println("Array's value at index " + index + "is: " + i[index]); 

或者你可以使用的toString()函數。

0

這兩者之間的區別是

int[] i = {15,0,15,0,0}; 
System.out.println(i); 

元件由一個初始化模塊確定,而

int [] i = new int [5]; 

5個的元件在int i分配。