一个简单的数组工具类ArrUtils
该工具类写了以下6种方法:
*1. arrMap方法:遍历数组
- 2.arrSort方法:数组正向排序,返回一个int类型数组
- 3.arrSort2方法:数组折半排序,将数组前半部分正序排列而后半部分逆向排列,返回一个int类型数组
- 4.arrReseting方法:将数组重置为0,返回一个int类型数组
- 5.arrRecord方法:不断记录用户输入的数据(int),并保存在一个int数组中,返回一个int类型数组
- 6.arrInsert方法:将一个int数据插入一个int数组指定位置,返回一个int类型数组
代码实现:
源代码copy如下:
/**
- 数组工具类:
- arrMap方法:遍历数组
- arrSort方法:数组正向排序,返回一个int类型数组
- arrSort2方法:数组折半排序,将数组前半部分正序排列而后半部分逆向排列,返回一个int类型数组
- arrReseting方法:将数组重置为0,返回一个int类型数组
- arrRecord方法:不断记录用户输入的数据(int),并保存在一个int数组中,返回一个int类型数组
- arrInsert方法:将一个int数据插入一个int数组指定位置,返回一个int类型数组
*/
public class ArrUtils {
//数组输出方法:
public void arrMap(int []arr){
for (int a:arr) {
System.out.print(a+" “);
}
}
//数组排序方法:
public int[] arrSort(int[]arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int atp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = atp;
}
}
}
return arr;
}
//折半排序方法:
public int[] arrSort2(int[]arr){
//前半部分正序排列
for (int i = 0; i <arr.length/2; i++) {
for (int j = 0; j <(arr.length/2)-i-1; j++) {
if (arr[j]>arr[j+1]){
int atp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=atp;
}
}
}
//后半部分逆向排列
for (int i = arr.length-1; i >=arr.length/2; i–) {
for (int j = arr.length-1; j >=arr.length/2; j–) {
if (arr[j]>arr[j-1]){
int atp=arr[j-1];
arr[j-1]=arr[j];
arr[j]=atp;
}
}
}
return arr;
}
//数组重置方法:
public int[] arrReseting(int []arr){
for (int i = 0; i <=arr.length-1 ; i++) {
arr[i]=0;
}
return arr;
}
//记录用户输入的数据(int),并保存在一个int数组中:
public int[] arrRecord (){
int[]arr = new int[100];
int times=1;
Scanner sc = new Scanner(System.in);
do {//先执行第一次输入:
if (times==1){
System.out.println(“请输入第1个数据:”);
int num1 = sc.nextInt();
arr[0]=num1;
}
System.out.println(“按回车或任意操作继续,键入“结束”停止录入”);
Scanner scanner = new Scanner(System.in);
String l = scanner.nextLine();
if(“结束”.equals(l)){
break;//键入“结束”则停止录入,结束循环
}else {
System.out.println(“请输入第” + (times + 1) + “个数据:”);
int num = sc.nextInt();
arr[times] = num;
times++;
}
}while (times<100);//控制录入次数,防止数组溢出
return arr;
}
//数组插入方法:
public static int[] arrInsert(int []arr){
Scanner sc = new Scanner(System.in);
System.out.println(“请输入您要插入的数据:”);
int num = sc.nextInt();
System.out.println(“请输入您要插入的位置下标(0~”+(arr.length-1)+”)😊;
int whe = sc.nextInt();
if (whe>=0&&whe<=arr.length-1){
//执行插入
for (int i = arr.length-2; i >=whe ; i–) {
arr[i+1]=arr[i];
} arr[whe]=num;
}else{//调用自身重新执行整个操作
System.out.println(“您输入的位置下标有误,请重新输入:”);
arrInsert(arr);
}
return arr;
}
}