JAVA数组常见例题(转置,排序,求和平均,插入,删除)

Java 数组常见例题(转置,排序,求和平均(去最大值最小值)插入,删除(用户选择指定功能运行))

本人小白刚学Java一学期,有错误的地方请指出

package com.company;

import java.util.Scanner;

class array
{
    public static void reverse(int[] data) {
        System.out.println("转置后的数组为:");
        int center = data.length / 2;
        int head = 0;
        int tail = data.length - 1;
        for (int i = 0; i < center; i++) {
            int temp = data[head];
            data[head] = data[tail];
            data[tail] = temp;
            head++;
            tail--;
        }**加粗样式**
    }

    public static void smallTobi(int[] temp1) {
        for (int i = 0; i < temp1.length - 1; i++) {
            for (int j = 0; j < temp1.length - 1 - i; j++) {
                if (temp1[j] > temp1[j + 1]) {
                    int change = temp1[j];
                    temp1[j] = temp1[j + 1];
                    temp1[j + 1] = change;
                }
            }
        }
        System.out.println("大小顺序为:");
        for (int i = 0; i < temp1.length; i++) {
            System.out.print(temp1[i] + " ");
        }
        System.out.println();
    }

    public static void sum(int[] temp2) {
        double sum1 = 0;
        double max = temp2[0];
        double min = temp2[0];
        for (int i = 0; i < temp2.length; i++) {
            sum1 += temp2[i];
            if (max < temp2[i]) {
                max = temp2[i];
            }
            if (min > temp2[i]) {
                min = temp2[i];
            }
        }
        System.out.println("最大值为:" + max);
        System.out.println("最小值为:" + min);
        System.out.println("未去掉数组总和为:" + sum1);
        double average = sum1 / temp2.length;
        System.out.println("未去掉数组平均数为:" + average);
        System.out.println("去掉最大值和最小值后的总值为:" + (sum1 - max - min));
        System.out.println("去掉最大值和最小值后的平均值为:" + ((sum1 - max - min) / (temp2.length - 2)));
    }

    public static int [] insert(int[]temp3)
    {
        System.out.println("请输入插入数据的值:");
        Scanner s=new Scanner(System.in);
        int value=s.nextInt();
        System.out.println("请输入插入数据的位置"+"0-9");
        int index=s.nextInt();
        System.out.println("数组插入:"+value+"后的顺序为:");
        int []b=new int[temp3.length+1];
        for (int i = 0; i < temp3.length+1 ; i++)
        {
            if (index<0)
            {
                System.out.println("请输入位置为:0-9的数据,否则无法执行!");
                break;
            }
            if(i<index)
            {
                b[i]=temp3[i];
            }
            if(i==index)
            {
                b[i]=value;
            }
            if(i>index)
            {
                b[i]=temp3[i-1];
            }
        }
        return b;
    }


    public static int [] delete(int []temp4)
    {

        Scanner s=new Scanner(System.in);
        System.out.println("请用户输入想要删除的位置"+"0-9:");
        int index=s.nextInt();
        System.out.println("删除指定位置:"+index+" 后的排序为:");
        int []c=new int[temp4.length-1];
        for (int i = 0; i < temp4.length-1 ; i++)
        {
            if (index<0)
            {
                System.out.println("请输入位置为:0-9的数据,否则无法执行!");
                break;
            }
            if(i<=index-1)
            {
                c[i]=temp4[i];
            }
            else
            {
                c[i]=temp4[i+1];
            }
        }
        return c;
    }

    public static void printArray(int[] temp) {
        for (int i = 0; i < temp.length ; i++) {
            System.out.print(temp[i]+" ");
        }
        System.out.println();
    }
}
public class Main {
    public static void main(String[] args)
    {
        Scanner s = new Scanner(System.in);
        System.out.println("请用户输入十个数字:");
        int[] data = new int[10];
        for (int i = 0; i < 10; i++)
        {
            data[i] = s.nextInt();
        }
        while(true)
        {
            System.out.println();
        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:程序退出!");
        array a=new array();
        int x = s.nextInt();

            switch (x) {
                case 1:
                    a.reverse(data);
                    a.printArray(data);
                    break;
                case 2:
                    a.smallTobi(data);
                    break;
                case 3:
                    a.sum(data);
                    break;
                case 4:
                    int[] p = a.insert(data);
                    a.printArray(p);
                    break;
                case 5:
                    int[] c = a.delete(data);
                    a.printArray(c);
                    break;
                case 6:
                    System.exit(0);
                default:
                    System.out.println("无可执行代码!请用户输入1-5的代码口令!");
            }
        }
    }
}


**运行结果:**

"C:\Program Files\Java\jdk1.8.0_181\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.2.3\lib\idea_rt.jar=2179:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.2.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_181\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\rt.jar;C:\Users\h3class\IdeaProjects\untitled1\out\production\untitled1" com.company.Main
请用户输入十个数字:
1 2 3 4 5 0 9 8 7 6

请用户输入您想要执行程序的代码:
1:数组重置。
2:数组冒泡排序。
3:数组求和,并求平均值和去掉最大值最小值后的总和与平均值。
4:数组插入数据并重新排列。
5:数组删除用户指定数据并重新排列。
6:程序退出!
1
转置后的数组为:
6 7 8 9 0 5 4 3 2 1 

请用户输入您想要执行程序的代码:
1:数组重置。
2:数组冒泡排序。
3:数组求和,并求平均值和去掉最大值最小值后的总和与平均值。
4:数组插入数据并重新排列。
5:数组删除用户指定数据并重新排列。
6:程序退出!
2
大小顺序为:
0 1 2 3 4 5 6 7 8 9 

请用户输入您想要执行程序的代码:
1:数组重置。
2:数组冒泡排序。
3:数组求和,并求平均值和去掉最大值最小值后的总和与平均值。
4:数组插入数据并重新排列。
5:数组删除用户指定数据并重新排列。
6:程序退出!
3
最大值为:9.0
最小值为:0.0
未去掉数组总和为:45.0
未去掉数组平均数为:4.5
去掉最大值和最小值后的总值为:36.0
去掉最大值和最小值后的平均值为:4.5

请用户输入您想要执行程序的代码:
1:数组重置。
2:数组冒泡排序。
3:数组求和,并求平均值和去掉最大值最小值后的总和与平均值。
4:数组插入数据并重新排列。
5:数组删除用户指定数据并重新排列。
6:程序退出!
4
请输入插入数据的值:
55
请输入插入数据的位置0-9
0
数组插入:55后的顺序为:
55 0 1 2 3 4 5 6 7 8 9 

请用户输入您想要执行程序的代码:
1:数组重置。
2:数组冒泡排序。
3:数组求和,并求平均值和去掉最大值最小值后的总和与平均值。
4:数组插入数据并重新排列。
5:数组删除用户指定数据并重新排列。
6:程序退出!
5
请用户输入想要删除的位置0-92
删除指定位置:2 后的排序为:
0 1 3 4 5 6 7 8 9 

请用户输入您想要执行程序的代码:
1:数组重置。
2:数组冒泡排序。
3:数组求和,并求平均值和去掉最大值最小值后的总和与平均值。
4:数组插入数据并重新排列。
5:数组删除用户指定数据并重新排列。
6:程序退出!
6

Process finished with exit code 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值