[英]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的數組。在代碼中,當從數組中添加/刪除元素時,您無法更改數組的大小。 您只是在移動索引以獲得所需的輸出。 如果要更大的數組,可以:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.