数组的增删改查
package DataStructure.com.DataStructure;
import java.util.InputMismatchException;
import java.util.Scanner;
public class arry {
//初始化数组,一个个输入数组的值
public int[] CreatArr(){
Scanner in = new Scanner(System.in);
System.out.print("输入数组大小:");
int[] a = new int[in.nextInt()];
for (int i= 0 ;i<a.length;i++){
System.out.print("输入第"+(i+1)+"个元素的值:");
try {
a[i]=in.nextInt();
} catch (InputMismatchException e) {
System.out.println("不能输入非数字类型。");
in.next();
i--;
}
}
System.out.print("创建的新数组元素为:");
//遍历数组
for (int t:
a) {
System.out.print(t+"");
}
System.out.println("");
return a;
}
//数组中增加一个元素
public int[] insertArr(int[] a,int n, int k ){
int newarr[]=new int[a.length+1];
for (int i = 0; i < n; i++) {
newarr[i]=a[i];
}
newarr[n]=k;
for (int i = n+1; i < newarr.length; i++) {
newarr[i]=a[i-1];
}
return newarr;
}
//遍历数组
public void showArr(int[] a){
for (int t:
a) {
System.out.print(t);
}
System.out.println("");
}
//删除第index个元素
public int[] DeleteElemtFromArr(int arr[],int index){
int newarr[]=new int[arr.length-1];
for (int i = 0; i < index-1; i++) {
newarr[i]=arr[i];
}
for (int i = index; i < newarr.length+1; i++) {
newarr[i-1]=arr[i];
}
return newarr;
}
//修改第index位置的数据
public int[] UpdateElemtFromArr(int arr[],int index,int elemt){
arr[index-1]=elemt;
return arr;
}
//查询第index位置的数据
public int SelectIndexFromArr(int arr[],int index){
if (index < 0 || index > arr.length) {
System.out.print("查询的索引位置不对");
}
return arr[index-1];
}
//用户提示信息
public void DoNotice(){
System.out.println("**************");
System.out.println(" 1--创建数组");
System.out.println(" 2--增加元素");
System.out.println(" 3--删除元素");
System.out.println(" 4--修改元素");
System.out.println(" 5--查询元素");
System.out.println("**************");
}
//main方法
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int arr[] = null;
int input,index,elemt;
arry test=new arry();
System.out.println("欢迎进入数组的增删改查系统");
System.out.println("请选择相应的功能");
while(true){
//循环提示
test.DoNotice();
//用户开始进行选择
System.out.print("请选择相应的功能:");
try {
input=in.nextInt();
} catch (InputMismatchException e) {
System.out.println("输入的类型只能是数字");
in.next();
continue;
}
if (input==0){
System.out.println("退出此系统");
break;
}
switch (input){
case 1:{//创建数组
arr=test.CreatArr();
break;
}
case 2:{//数组中增加元素
if (arr==null){
System.out.println("数组为空");
}
else {
System.out.print("请输入插入数据的位置:");
try {
index = in.nextInt();
System.out.print("请输入插入的数据:");
elemt = in.nextInt();
} catch (InputMismatchException e) {
System.out.println("输入的类型不是数字");
in.next();
break;
}
arr=test.insertArr(arr,index,elemt);
System.out.print("插入后的元素为:");
test.showArr(arr);
}
break;
}
case 3:{//删除一个元素
System.out.print("输入删除元素的位置:");
arr=test.DeleteElemtFromArr(arr,in.nextInt());
System.out.print("删除后的数组为:");
test.showArr(arr);
break;
}
case 4:{//修改一个元素
System.out.print("输入修改元素的位置:");
index = in.nextInt();
System.out.print("输入修改元素的值:");
elemt = in.nextInt();
arr=test.UpdateElemtFromArr(arr,index,elemt);
System.out.print("修改后的数组为:");
test.showArr(arr);
break;
}
case 5:{//查询指定索引位置的元素
System.out.print("输入查询元素的位置:");
index = in.nextInt();
System.out.println("此位置的元素是:"+test.SelectIndexFromArr(arr,index));
}
}
}
}
}
运行结果
创建数组
增加元素