2013-12-19 118 views
0
array[0] = 1; 
array[1] = 2; 
array[2] = 3; 
array[3] = 4; 
items_arr = 4; 

System.out.println("The elements in the array are: "); 
for (int x = 0; x < items_arr; x++) 
    System.out.println("Array[" + x + "]=" + array[x]); 
System.out.print("\n"); 

Scanner insert = new Scanner(System.in); 

System.out.print("Enter an Element to Insert: "); 
int input = insert.nextInt(); 

for (s = 0; s < items_arr; s++) 
    if (array[s] == input) 
     break; 
items_arr++; 
for (s = 0; s < items_arr; s++) 
    System.out.println("Array[" + s + "]=" + array[s]); 
break; 

輸出是。元素是在陣列中添加元素

Array [0]= 1 
Array [1]= 2 
Array [2]= 3 
Array [3]= 4 

輸入一個要插入的元素:5

Array [0]= 1 
Array [1]= 2 
Array [2]= 3 
Array [3]= 4 
Array [4]= 0 

當我插入5這帖子0 任何建議,請..謝謝!

+1

替換上面的代碼,我沒有看到你所插入的用戶輸入的值入陣。那麼你如何期待它在輸出中反映? – SudoRahul

+0

將當前數組複製到一個新數組中,然後在新數組中插入'5' – Prasad

+0

正確地打開關閉您的'if'和'for'並再次嘗試 –

回答

1

要插入到數組你shuould可以在這裏做follwoing操作

array[s]=input 

兩個音符

  1. 數組長度固定,你應該在插入值之前檢查數組長度對此,其他方面你會得到ArrayIndexOBException。更安全的起訴名單/設置

  2. 隨着更好的編碼實踐,提高了可讀性 - ,你應該封閉條件/循環語句(如iffor) - 見例如下面

如:1個

for (int x = 0;x<items_arr;x++) { 
    System.out.println("Array["+x+"]="+array[x]); 
} 

例如2:

for(int s = 0; s < items_arr; s++) { 
    if (array[s] == input) { 
     break; 
    } 
} 
+0

我會試試這個代碼 – Joey

+0

是的!有效! – Joey

0

你有沒有你的數組中插入5, 做一些事情後items_arr++

array[ items_arr] = input; 

如果不插入任何東西則默認情況下所有元素都0

0

你應該使用Collection類型;我會建議一個ArrayList - 那就是 -

List<Integer> al = new ArrayList<Integer>(); 
for (int i = 1; i < 5; i++) { 
    al.add(i); 
} 

Scanner insert = new Scanner(System.in); 
System.out.print("Enter an Element to Insert: ");  
int input = insert.nextInt(); 
al.add(input);       // And so on... 
0

你沒有更新/插入新的輸入數組。

for(s = 0; s < items_arr; s++) 
    if (array[s] == input) 
     break; 
items_arr++; 

只是

array[ items_arr] = input; 
items_arr++;