javase(数组练习)

统计数组{20,45,78,34,16,3,99,56}中大于50的有多少个、小于50的有多少个并打印输出。

        解析:首先需要定义一个数组并初始化,将{20,45,78,34,16,3,99,56}存入数组中,再用到循环将数组中的数据拿出,再和50做比较,在这之前定义两个变量,一个count1,一个count2分别用来记录大于50的数字数量和记录小于50的数字的数量。

        代码如下:

package array;

/**
 * Author lilshork
 * Date 2022/7/4 16:48
 * 统计数组{20,45,78,34,16,3,99,56}中大于50的有多少个、小于50的有多少个并打印输出
 **/
public class Demo09 {
    public static void main(String[] args) {
        int a[] = {20,45,78,34,16,3,99,56};
        int count1 = 0;
        int count2 = 0;
        for (int i = 0; i < a.length; i++) {
            if (a[i]>50){
                System.out.println("大于50的数:"+a[i]);
                count1++;
            }else if(a[i]<50){
                System.out.println("小于50的数:"+a[i]);
                count2++;
            }
        }
        System.out.println("大于50的数总共有"+count1+"个");
        System.out.println("小于50的数总共有"+count2+"个");
    }
}

②随机生成10个1-100的数字,求出大于这10个数的平均数的个数。

        解析:根据需求,需要定义以下的变量:avg存放平均数、count记录大于平均数的个数、sum记录10个随机数字的和,还需要定义一个数组用来存放随机生成的10个1-100的数字,同时,在对数组初始化时,因为数据不清楚,所以定义一个动态数组。因为随机要生成1-100的数字,而random随机产生的数是[0,1),所以在这里要注意。

        代码如下:

package array;

import java.util.Random;

/**
 * Author lilshork
 * Date 2022/7/5 16:34
 * 随机生成10个1-100的数字,求出大于这10个数的平均数的个数
 **/
public class Demo12 {
    public static void main(String[] args) {
        // 定义一个变量存放平均数
        int sum = 0;
        double avg = 0;
        int count = 0;
        // 定义动态数组存放随机生成的数字
        int arr[] = new int[10];
        Random random = new Random();
        // 循环生成10个1-100的随机数并存放在数组中
        System.out.print("生成的随机数为:");
        for (int i = 0; i < 10; i++) {
            arr[i] = random.nextInt(100) + 1;
            sum+=arr[i];
            System.out.print(arr[i]+" ");
        }
        avg = sum/ arr.length;
        for (int i = 0; i < arr.length; i++) {
            if(arr[i]>avg){
                count++;
            }
        }
        System.out.println();
        System.out.println("平均数为:"+avg);
        System.out.println("大于平均数的个数为:"+count);
    }
}

③在数组{4,5,6,2,3,1,9,8,7,10,12,14,15}中查找元素(先打印输出所有元素,输入一个数,如果找到了则打印输出其位置,没有找到则提示没有找到,能够一直输入数据,对数据进行查询)。

        解析:先定义一个数组将数据存储起来,先用一个循环将所有数据打印输出,再定义一个变量count,并且初始赋值为0,用来记录输入的数字是否能在数组中找到,因为不知道要输入的次数,所以用到while循环,在while循环中再嵌套一个for循环,用来对输入的数据进行判断。

        代码如下:

package array;

import java.util.Scanner;

/**
 * Author lilshork
 * Date 2022/7/5 19:11
 **/
public class Demo13 {
    public static void main(String[] args) {
        int a[] = {4, 5, 6, 2, 3, 1, 9, 8, 7, 10, 12, 14, 15};
        int index = 0;
        int count = 0 ;
        System.out.print("数组中的数有:");
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i] + " ");
        }
        while(true){
            System.out.println();
            System.out.println("请输入一个数字:");
            int s = scanner.nextInt();
            for (int i = 0; i < a.length; i++) {
                if (s == a[i]) {
                    index = i;
                    System.out.println("能找到这个数,它的下标为:" + index);
                    count++;
                }
            }
            if (count==0){
                System.out.println("没有找到!");
                continue;
            }
        }
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值