实现图中窗口的数组运算

img


如何更好使用MVC结构,虽然自己可以大部分写完,但bug是真的多。希望能有人来帮助一下,学习学习。

可以贴一下你现在的代码吗?

窗口你自己写,我把方法都贴出来了调用一下就可以


import java.util.Arrays;

public class Test {
    public static void main(String[] args) {
        //输入数组
        int[] arr = {9, 8, 7, 6, 1, 2, 3, 4, 5};
        //查找的数
        int search = 11;
        //数组元素
        System.out.println("数组的元素为:" + Arrays.toString(arr));
        //最大元素  因为在获取最大元素的时候已经给数组排序了,所以以下方法是按照已经排序后的数组进行操作的
        System.out.println("最大元素" + getMaxValue(arr)[arr.length - 1]);
        //最小元素       
        System.out.println("最小元素" + getMaxValue(arr)[0]);
        //和
        System.out.println("数组中所有元素的和:" + getSum(arr));
        //平均值
        System.out.println("平均值:" + getMeanValue(arr));
        //从小到大        
        System.out.println("从小到大排列:" + Arrays.toString(arr));
        //最大元素是否为素数
        System.out.println("最大元素是否为素数:" + isPrimeNumber(arr));
        //是否存在
        System.out.println(isInclude(arr, search));
    }
    
    //获取最大值
    public static int[] getMaxValue(int[] arr) {
        Arrays.sort(arr);
        return arr;
    }
    //获取和
    public static int getSum(int[] arr) {
        int s = 0;
        for (int i : arr) {
            s += i;
        }
        return s;
    }
    //获取平均值
    public static double getMeanValue(int[] arr) {
        int s = 0;
        for (int i : arr) {
            s += i;
        }
        return s / arr.length;
    }
    //是否为素数
    public static String isPrimeNumber(int[] arr) {
        int p = arr[arr.length - 1];
        if (p == 1 || p == 0) {
            return "否";
        }
        for (int i = 2; i < p; i++) {
            if (p % i == 0) {
                return "否";
            }
        }
        return "是";
    }
    //是否存在
    public static String isInclude(int[] arr, int i) {
        for (int t : arr) {
            if (t == i) {
                return "数组存在给定的整数" + i;
            }
        }
        return "数组不存在给定的整数" + i;
    }

}