如何在Java中的数组中插入元素

时间:2018-09-05 03:51:16

标签: arrays

我正在用Java学习数组概念。请帮助解决以下问题。

使用下面的代码,我只能打印输入的值,并且不存储以前输入的值。我想使用Array添加元素并在我的问题语句中打印它们。我不应该使用ArrayList

Main Class:
    System.out.println("Enter the array value");
    int value = scan.nextInt();
    scan.nextLine();
    arrayobj.add(value);

Array Class:
   Integer array[] = new Integer[100];
public void add(Integer value){
    for(int i=0;i<1;i++)
    {
      array[i] = value;
      i++;
    }
    System.out.println("The values are");

    for(Integer a : array)
    {
        if(a!=null)
        {
             System.out.println(a);
        }
    }
}

样本输入和输出:

    Enter your choice
    1.Add
    2.Remove
    3.Search
    1
    Enter the array value
    1
    The values are
    1
    Do you want to continue[Yes/No]
    Yes
    Enter your choice
    1.Add
    2.Remove
    3.Search
    1
    Enter the array value
    2
    The values are
    1
    2

2 个答案:

答案 0 :(得分:2)

您的代码似乎是错误的,因为以下for循环仅迭代一次并一次又一次替换数组的第0个元素

for(int i=0;i<1;i++)
{
  array[i] = value;
  i++;
}

数组的长度在Java中是不可变的。这意味着一旦创建数组便无法更改其大小。如果使用2个元素对其进行了初始化,则其长度为2。但是,您可以使用其他集合。

List<Integer> myList = new ArrayList<Integer>();
myList.add(5);
myList.add(7);

使用包装方法

public void addMember(Integer x) {
    myList.add(x);
};

您可以使用以下功能通过避免循环来打印列表

System.out.println(Arrays.toString(myList.toArray()));

答案 1 :(得分:2)

像这样定义您的Array类,您最多可以为一个Array对象添加100个元素。如果要添加100个以上的元素,则必须复制该数组并创建一个更大的新数组。

public class Array{
    private int tail = 0;
    private Integer[] array= new Integer[100];

    void add(int value){
       if(tail<=100){
          array[tail++]= value;
       }
       else{
          System.out.println("Array overflow");
       }

    Integer[] getArray(){
       return array;
    }
}