一个简单的数组工具类ArrUtils

一个简单的数组工具类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;
    }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值