我的问题是:我希望向数组中添加一个元素。
由于 'createArray' 方法
方法 'addElementsToArray' 将新元素添加
到 'this.array[0]' 的位置,数组长度为 3, 如果使用数组中的其余位置,则
它们向右移动一步,使第一个位置为空对于新元素。
如果我的数组长度等于 10 或 100 怎么办?
无论数组的长度如何,有没有办法使用更少的代码行。
谢谢
private int[] array;
public createArray(int m){
this.array = new int[m];
}
public void addElementsToArray(int element){
try {
for (int i=0; i<=this.getArray().length; i++) {
if (this.getArray()[i] == 0) {
this.getArray()[i] = element;
System.out.println("1");
break;
}else if(this.getArray()[i] != 0 && this.getArray()[i + 1] == 0) {
int vault = this.getArray()[i];
if (this.getArray()[i + 1] == 0) {
this.getArray()[i + 1] = vault;
this.getArray()[i] = element;
System.out.println("2");
break;
}
}else if(this.getArray()[i] != 0 && this.getArray()[i + 1] != 0) {
if (this.getArray()[i + 2] == 0) {
int vault = this.getArray()[i];
this.getArray()[i + 2] = this.getArray()[i + 1];
this.getArray()[i + 1] = vault;
this.getArray()[i] = element;
System.out.println("3");
break;
}
}
}
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("This Stack is Full");
}
System.out.println(Arrays.toString(this.getArray()));
}
繁星点点滴滴
斯蒂芬大帝
相关分类