簡體   English   中英

插入一個簡單的數組並刪除

[英]Inserting into a simple Array and Deleting

public class DataOperations {
int arraySize=50;
int[]array=new int[arraySize];
public void generateRandomArray(){
for(int i=0;i<arraySize;i++){
    array[i]=i;


}
}
public int getValueAtIndex(int index){
if(index<arraySize){
    System.out.println("Your value At index "+index+" is "+array[index]);
    return array[index];
}else{
    System.out.println("Please Return an Index that is inbounds");
    return 0;
}
}
public boolean doesArrayContainValue(int searchValue){
boolean valueInArray=false;
for(int i=0;i<arraySize;i++){
    if(array[i]==searchValue){
         valueInArray=true;
    }
}
return valueInArray;

}
 public void deleteIndex(int index){
if(index<arraySize){
    for(int i=index;i<(arraySize-1);i++){
        array[i]=array[i+1];

    }       
}
System.out.println(arraySize);
arraySize--;
System.out.println(arraySize);


}
public void printArray(){
for(int i=0;i<arraySize;i++){
    System.out.print(i+"-");
    System.out.println(array[i]);
}
}
public void insertValue(int index){
if(index<arraySize){
array[arraySize]=index;
System.out.println(arraySize);
arraySize++;
System.out.println(arraySize);
}

}
 public void linearSearchForValue(int value){
boolean valueInArray=false;
System.out.println("The was Found and is at Index:");
for(int i=0;i<arraySize;i++){
    if(array[i]==value){
        System.out.println(i);
    }
}
}
}

嘿,所以我為數組創建了簡單的添加和刪除方法。 但是,我不確定幾個部分。 我了解了add方法,並且針對我在下面的Driver類中創建的此特定數組對象,我們將arraySize從50減小到49。 但是,我不確定為什么如果將arraySize ++放在array [arraySize] = index之前,並且沒有調用我的deleteIndex方法不應該將我的arraySize = 51放在我的delete方法insertValue方法之前,為什么不能執行我的add方法? 但這會引發以下異常驅動程序類

public class Driver {
public static void main(String[] args) {
    DataOperations array=new DataOperations();
    array.generateRandomArray();
    array.insertValue(20);
    array.printArray();

}
}

int arraySize=50;

您創建了一個大小為50的數組。數組的大小是固定的,因此您無法獲得大小為51的數組。在代碼中,當從數組中添加/刪除元素時,您無法更改數組的大小。 您只是在移動索引以獲得所需的輸出。 如果要更大的數組,可以:

  1. 創建所需大小的新數組並將所有元素從舊復制到新
  2. 使用ArrayList而不是數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM