2013-12-19 120 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++;