Java老师早上布置了三个题目,都非常简单,仅供参考

数组排序

题目

歌手大赛10个评委,先排序,去掉最高分和最低分,求平均分,要求输出最高分、最低分和平均分。

我的答案

package neworld;
import java.util.Arrays;
public class Test1 {
    public static void main(String[] args) {

        int[] score = {85, 94, 96, 99, 91, 92, 88, 81,78, 83};
        Arrays.sort(score);
        int sum = 0;
        for (int i : score) {
            sum = sum + i;
        }
        System.out.println("最高分:" + score[9]);
        System.out.println("最低分:" + score[0]);
        System.out.println("平均分" + (double)(sum-score[0]-score[9])/10);
    }
}

输出



二维数组找最大

题目

定义一个二维数组,找出数组中最大数连同下标一起输出

我的答案

public class Test2 {
    public static void main(String[] args) {
        int b[][] = new int[][] { { 1 } , { 2 , 3 },{4,5,6} };
        int a= 0,d = 0,max = 0;
        for(int k = 0;k<b.length;k++) {
            for(int c = 0;c < b[k].length;c++) {
                if(b[k][c] > max) {
                    max = b[k][c];
                    a = k;d = c;
                }
            }
        }
        System.out.println("此二维数组最大值为:" + max);
        System.out.println("它的下标为" + a +"," +  d );        
    }
}

输出



数组去重

题目

定义一个整形数组为{1,7,5,6,4,3,3,2,6,7,8},将该数值中重复的数字去除,生成一个排序后新数组{1,2,3,4,5,6,7,8}

我的答案

public class Test3 {
    public static void main(String[] args) {
        int soc[] = {1,7,5,6,4,3,3,2,6,7,8};
        int[] socs = new int[soc.length];
        int m =0;
        for (int i=0;i<soc.length;i++) {
            boolean flag = true;
            for(int n = 0; n <socs.length;n++) {
                if(socs[n] == soc[i]) {
                    flag = false;
                }
            }
            if(flag) {
                socs[m++] = soc[i];
            }
        }
        Integer[] newArr = new Integer[m];
        //检测数组有多少为null,并且赋值为新的数组
        for(int k = 0;k < m;k++) {
            newArr[k] = socs[k];
        }
         Arrays.sort(newArr);
        System.out.println(Arrays.toString(newArr));
        }
}

输出


最后修改:2020 年 06 月 22 日
如果觉得我的文章对你有用,请随意赞赏