设计一个类,用于数组操作
(1)成员变量为一个一位数组,数组为int型
(2)构造方法中包含一维数组
(2)成员方法中包括数组遍历 添加 删除 。。。
import
java.util.Scanner;
/*
许昌学院
马志勇
互助
互祝
互祝
*/
package 三个题3_18;
import java.sql.Array;
import
java.util.Scanner;
class ArrayTool {
int arr[];
public ArrayTool() {
}
public ArrayTool(int a[]) {
this.arr = a;
}
// 添加元素
public void append() {
System.out.print("当前数组各元素为:");
display();
System.out.print("你想添加序号为多少的元素:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.print("数字为:");
int count = sc.nextInt();
//
=========================================
int[] newArray = new int[arr.length + 1];
for (int i = 0; i < arr.length+1; i++) {
if (i < n-1) {
newArray[i] = arr[i];
} else if(i==n-1){
newArray[i]=count;
}else{
newArray[i]=arr[i-1];
}
}
arr = newArray;
System.out.print("添加后的数组为为:");
display();
// ========================================
}
// 遍历元素
public void display() {
for (int i = 0; i < arr.length; i++) {
if (i < arr.length - 1) {
System.out.print(arr[i] + ",");
} else {
System.out.println(arr[i] + "。");
}
}
}
// 删除元素
public void remove() {
System.out.print("当前数组各元素为:");
display();
System.out.print("你想删除第几个元素:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
//
=========================================
int[] newArray = new int[arr.length - 1];
for (int i = 0; i < newArray.length; i++) {
if (i < n - 1) {
newArray[i] = arr[i];
} else {
newArray[i] = arr[i + 1];
}
}
arr = newArray;
System.out.print("删除后的元素为:");
display();
}
// 查找元素
public int indexof(int n) {
int t = -1;
for (int i = 0; i < arr.length; i++) {
if (arr[i] == n) {
t++;
t = i + 1;
}
}
return t;
}
// 排序元素
public void sort(String shunxu) {// 既可以逆序 又可以顺序
if (shunxu == "顺序") {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
int mid;
if (arr[i] > arr[j]) {
mid = arr[j];
arr[j] = arr[i];
arr[i] = mid;
}
}
}
System.out.print("顺序后结果为:");
display();
} else {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
int mid;
if (arr[i] < arr[j]) {
mid = arr[j];
arr[j] = arr[i];
arr[i] = mid;
}
}
}
System.out.print("逆序后结果为:");
display();
}
}
}
public class ArrayTest {
public static void main(String[] args) {
System.out.println("-------------遍历 删除展示------------------");
// 定义一个数组实现 :遍历 删除
int aa[] = { 1, 3, 7, 5, 9 };
ArrayTool a = new ArrayTool(aa);
// 遍历
System.out.print("遍历:");
a.display();
// 删除
System.out.println("开始启动删除程序...................");
a.remove();
System.out.println("----------------------");
// 再定义一个数组实现 : 查找 排序
System.out.println("-------------查找 排序 展示------------------");
// 查找展示
int bb[] = { 1, 6, 3, 8, 4, 9 };
ArrayTool b = new ArrayTool(bb);
int xuhao = b.indexof(9);
System.out.println("你要查的元素在:" + xuhao);
int xuhao2 = b.indexof(1999);
System.out.println("你要查的元素在:" + xuhao2);
// 排序展示
b.sort("逆序"); // 逆序排
b.sort("顺序"); // 顺序
System.out.println("-------------添加元素展示------------------");
int add[]={1,4,3,6};
ArrayTool at=new ArrayTool(add);
at.append();
}
}