Java数组练习实例

练习一

        定义一个数组,数组元素自己给出,求该数组的所有元素和和平均值,最后判断出数组中大于平均值的数的数量

public class HomeWork1 {
    public static void main(String[] args) {
        int[] sum = {15, 18, 65, 34, 84, 65, 61, 89, 25, 29};//1.定义一个包含十个元素的数组。数组元素自己给出
        double Totle = 0; //定义一个容器存储接下来的元素和
        /* ************遍历数组求和************* */
        for (int i = 0; i < sum.length; i++) {
            Totle += sum[i];
        }
        System.out.println("该数组的元素和为:" + Totle);
        double Average = Totle / 10; //定义一个变量存储平均数
        System.out.println("该数组平均值为:" + Average);
        /* ***********求数组中大于平均值的个数*********** */
        int a = 0;  //定义一个变量存储大于平均值的个数
        for (int i = 0; i < sum.length; i++) {
            if (sum[i] > Average) {
                a++;
            }
        }
        System.out.println("该数组大于平均值的有:" + a + "个");
    }
}

练习二

        定义一个整形数组,判断该数组元素的最大值并打印出来

public class Max {
    public static void main(String[] args) {
        int[] sum = {45, 76, 4999, -10, 454, 1, 46555, 46, 435, 646};
        int max = sum[0];   //定义一个变量存储第一个数组元素,假设第一个数组元素最大
        for (int i = 0; i < sum.length; i++) {
            if (max <= sum[i]) {  //   遍历数组判断max与数组【i】的大小,如果小于则把数组【i】赋值给max
                max = sum[i];
            }
            /*if (max>=sum[i]){  //求最小的值
                max = sum[i];
            }*/
        }
        System.out.println(max);
    }
}

练习三

        选择排序:定义一个整形数组(乱序),实现数组的升序或降序排列

public class XuanZePaiXu {
    public static void main(String[] args) {
        int[] sum = {12, 28, 4, 3, 19,1};
        for (int i = 0; i < sum.length; i++) {   //外层循环,用来遍历出起始的数组【】与后续数组【】进行比较
            for (int j = i + 1; j < sum.length; j++) {  //内层循环 与外层循环的数组【】进行比较
            /*定义一个变量 暂时存储第一个循环出来的sum[i],当后续sum[j]与sum[i]进行比较,
              当sum[j]<sum[i]  ,把sum[j]的值赋值给sum[i],把min中存储的sum[i]赋值给sum[j]完成交换*/
                int min = sum[i];

                if (sum[i] > sum[j]) {

                    sum[i] = sum[j];
                    sum[j] = min;

                }

            }

        }
        for (int i = 0; i < sum.length; i++) {
            System.out.println(sum[i]);
        }
    }
}

练习四

        冒泡排序: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。

public class MaoPao {
    public static void main(String[] args) {
        int[] sum = {12, 28, 4, 30, 19,1,14,25,50,70};
        for (int i = 0; i < sum.length-1; i++) {
            for (int j = 0; j < sum.length-1; j++) {
                if (sum[j]>sum[j+1]){
                    //交换位置
                    int max = sum[j];
                    sum[j] = sum[j+1];
                    sum[j+1] = max;
                }
            }
        }
        for (int i = 0; i < sum.length; i++) {
            System.out.print(sum[i]+"\t");
        }
    }
}

练习五

        找素数:找出1-100之间的素数并打印出来

 public static void main(String[] args) {
        for (int i = 2; i <= 100; i++) {  //for循环求1-100之间的素数:即只能被1和它本身整除的数字 ,例如17在1-17之间只能被1和17整除
            int flag = 1;   //定义一个变量当作循环条件
            for (int j = 2; j < i; j++) { //进行二次循环判断  j到i之间的运算
                if (i % j == 0) {       //加判断条件,判断i 是否被j也就是2到i-1之间的数整除,如果整除了则满足条件,把flag的值改成0,结束本次循环
                    flag = 0;
                    break;
                }
            }
            if (flag == 1) {        //判断内循环是否执行if判断,如果执行了则代表该数字被1和它本身之外的数字整除了,如果没有则满足素数的条件,进行输出i
                System.out.print(i + "\t");
            }
        }
    }

练习六

        水仙花数:找出100-999之间的水仙花数

public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
            int Ge = i % 10;
            int Shi = i / 10 % 10;
            int Bai = i / 10 / 10 % 10;
            if (i == Ge * Ge * Ge + Shi * Shi * Shi + Bai * Bai * Bai) {
                System.out.print(i + "\t");
            }
        }
    }

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值