设计数组类MyArray 定义一个数组类MyArray,数组元素均为整型,完成以下工作:输入、输出、删除指定位置元素、在指定位置插入元素和查找指定位置元素等
时间: 2024-10-10 13:06:12 浏览: 28
MFC数组类CArray动态初始化列表控件实例
要创建一个名为`MyArray`的数组类,用于处理整数数组并提供所需的输入、输出、删除、插入和查找功能,你可以按照以下步骤进行:
1. 定义数组类`MyArray`,包含一个整型数组成员变量。
2. 添加构造函数,用于初始化数组大小。
3. 实现公有方法:添加、获取、删除和查找元素的方法。
下面是简化的`MyArray`类实现:
```java
import java.util.Scanner;
public class MyArray {
private int[] elements;
private int size;
// 构造函数,初始化数组大小
public MyArray(int capacity) {
this.elements = new int[capacity];
this.size = 0;
}
// 公共方法:输入元素(尾部添加)
public void add(int value) {
if (size < elements.length) {
elements[size++] = value;
} else {
System.out.println("数组已满,无法添加更多元素.");
}
}
// 公共方法:输出所有元素
public void printArray() {
for (int i = 0; i < size; i++) {
System.out.print(elements[i] + " ");
}
System.out.println();
}
// 公共方法:删除指定位置的元素(如果存在)
public void removeAt(int index) {
if (index >= 0 && index < size) {
System.arraycopy(elements, index+1, elements, index, size - index - 1);
size--;
} else {
System.out.println("无效索引,无法删除元素.");
}
}
// 公共方法:在指定位置插入元素
public void insertAt(int position, int value) {
if (position <= size) {
System.arraycopy(elements, position, elements, position + 1, size - position);
elements[position] = value;
size++;
} else {
System.out.println("超出数组范围,无法插入元素.");
}
}
// 公共方法:查找指定位置的元素(如果存在)
public int findElement(int index) {
if (index >= 0 && index < size) {
return elements[index];
} else {
System.out.println("无效索引,找不到该元素.");
return -1; // 返回-1表示未找到
}
}
// 示例:测试类
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
MyArray myArray = new MyArray(5);
// 用户输入操作
while (true) {
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("6. 退出");
int choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.println("请输入要添加的元素:");
int input = scanner.nextInt();
myArray.add(input);
break;
// ...其他case分支
default:
System.exit(0); // 退出程序
}
}
}
}
```
阅读全文