JAVA中的陣列插入與刪除指定元素
阿新 • • 發佈:2019-02-16
今天學了Java的陣列,寫了陣列的插入和刪除,本人小白,寫給不會的小白看,大神請忽略,有錯請大家指出來;
/**
給陣列指定位置陣列的插入
*/
import java.util.*;
public class ArrayInsert{
public static void main(String []args){
System.out.println("請用鍵盤輸入5個數:");
int [] array =new int[10];
Scanner sc=new Scanner(System.in);
//通過鍵盤向陣列輸入數
for(int i=0;i<array.length-5;i++){
array[i]=sc.nextInt();
}
//遍歷陣列
System.out.print("原陣列為:");
for(int a:array){
System.out.print(" "+a);
}
//向指定的位置插入數
System.out.println("\n請輸入插入位置:有效位置為0-----"+(array.length-1));
int index=sc.nextInt();
System.out.println("\n請輸入插入的值-----");
int num=sc.nextInt();
//呼叫靜態函式index
//遍歷插入後的陣列
System.out.println("插入元素之後的陣列遍歷:");
Insert(index,num,array);
for(int i=0;i<array.length;i++){
System.out.print(" " +array[i]);
}
}
//向陣列指定位置插入資料方法
public static int[] Insert(int index,int num,int a[]){
//如果有元素,在索引之後的元素向後移一位,
for(int a[i]=a[i-1];
}
a[index]=num;
return a;
}
}
//刪除陣列指定位置的數字。
import java.util.*;
public class ArrayDelete{
public static void main(String args[]){
System.out.println("請用鍵盤輸入5個數:");
int [] array =new int[10];
Scanner sc=new Scanner(System.in);
//通過鍵盤向陣列輸入數
for(int i=0;i<array.length-5;i++){
array[i]=sc.nextInt();
}
//遍歷陣列
System.out.print("原陣列為:");
for(int a:array){
System.out.print(" "+a);
}
//刪除在指定位置的數字
System.out.println("\n輸入你要刪除的位置: 範圍在0---"+(array.length-1));
int index=sc.nextInt();
delete(index,array);//呼叫delete方法
//刪除之後的遍歷
System.out.println("刪除之後的遍歷:");
for(int i=0;i<array.length;i++){
System.out.print(" "+array[i]);
}
}
//陣列的特性是,一旦初始化,則長度確定,所以要刪除陣列中元素,並且長度也隨著刪除而改變,則要重新建立陣列
/**
*刪除方式1
*/
public int[] delete(int index, int array[]) {
//陣列的刪除其實就是覆蓋前一位
int[] arrNew = new int[array.length - 1];
for (int i = index; i < array.length - 1; i++) {
array[i] = array[i + 1];
}
System.arraycopy(array, 0, arrNew, 0, arrNew.length);
return arrNew;
}
/**
*刪除方式2
*/
public int[] delete2(int index, int array[]) {
//陣列的刪除其實就是覆蓋前一位
int[] arrNew = new int[array.length - 1];
for (int i = 0; i < array.length - 1; i++) {
if (i < index) {
arrNew[i] = array[i];
} else {
arrNew[i] = array[i + 1];
}
}
return arrNew;
}
}