day13java学习打卡:数组中的常见算法: 1.数组元素的赋值(杨辉三角、回形数等) 2.求数值型数组中元素的最大值、最小值、平均数、总和等

1.数组元素的赋值(杨辉三角、回形数等)

使用二维数组打印一个 10 行杨辉三角。 【提示】 1. 第一行有 1 个元素, 第 n 行有 n 个元素 2. 每一行的第一个元素和最后一个元素都是 1 3. 从第三行开始, 对于非第一个元素和最后一个元 素的元素。即: yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j]
public class YangHuiTest {
    public static void main(String[] args) {
        //1.声明并初始化二维数组
        int[][] yanghui=new int[10][];
        
        //2.给元素赋值
        for(int i=0;i<yanghui.length;i++) {
            yanghui[i]=new int[i+1];
        
            //2.1给首末元素赋值
            yanghui[i][0]=yanghui[i][i]=1;
            //每一行的第一个元素和第i行的第i个元素赋值为0
            
            //2.2给每行的非首末元素赋值
            if(i>1) {
                for(int j=1;j<yanghui[i].length-1;j++) {
                    yanghui[i][j]=yanghui[i-1][j-1]+yanghui[i-1][j];
                    
                }
            }
        }
        //3.遍历二维数组
        for(int i=0;i<yanghui.length;i++) {
            for(int j=0;j<yanghui[i].length;j++) {
                System.out.print(yanghui[i][j]+" ");
            }
            System.out.println();
        }
        
    }
结果:


1 1 
1 2 1 
1 3 3 1 
1 4 6 4 1 
1 5 10 10 5 1 
1 6 15 20 15 6 1 
1 7 21 35 35 21 7 1 
1 8 28 56 70 56 28 8 1 
1 9 36 84 126 126 84 36 9 1 

2.求数值型数组中元素的最大值、最小值、平均数、总和等

/*
 * 两位数的随机数:[10,99]
 * 公式:(int)(Math.random()*(b-a+1)+a)//random是double型的值
 *      Math.random()*(99-10+1)+10
 */
public class ArrayTest1 {
    public static void main(String[] args) {
        int[] arr=new int[10];
        
        for(int i=0;i<arr.length;i++) {
            arr[i]=(int)(Math.random()*(99-10+1)+10);//赋值
        }
        
        //遍历:
        for(int i=0;i<arr.length;i++) {
            System.out.print(arr[i]+"\t");
        }
        System.out.println();
    
        
        //求数组元素最大值
        int maxValue=arr[0];
        for(int i=1;i<arr.length;i++) {
            if(maxValue<arr[i]) {
                maxValue=arr[i];
            }
        }
        System.out.println("最大值为:"+maxValue);
        
        //求数组元素最小值:
        int minValue=arr[0];
        for(int i=1;i<arr.length;i++) {
            if(arr[i]<minValue) {
                minValue=arr[i];
            }
        }
        System.out.println("最小值为:"+minValue);
        
        //求数组元素的和:
        int sum=0;
        for(int i=0;i<arr.length;i++) {
            sum+=arr[i];
        }
        System.out.println("总和为:"+sum);
        
        //求数组元素的平均值:
        int avgValue=sum/arr.length;
        System.out.println("平均数为:"+avgValue);    
    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值