Java学习笔记34——二维数组练习

二维数组练习

公司年销售额求和
/*
        公司年销售额求和
        某公司按照季度和月份统计的数据如下:单位(万元)
            第一季度:22,66,44
            第二季度:77,33,88
            第三季度:25,45,65
            第四季度:11,66,99

       键盘录入每个月的销售额,按照季度去输入

 */

import java.util.Scanner;

public class Array2Test2 {
    public static void main(String[] args) {
        //定义一个二维数组将数据存起来
        int[][] saleArray = {{22, 66, 44}, {77, 33, 88}, {25, 45, 65}, {11, 66, 99}};

        //定义一个变量接收总销售额
        int sumSale = 0;
        for (int i = 0; i < saleArray.length; i++) {
            for (int j = 0; j < saleArray[i].length; j++) {
                sumSale += saleArray[i][j];
            }
        }

        System.out.println("该公司一年的销售额为:" + sumSale + "万元。");

        System.out.println("=========键盘录入每个月的销售额,按照季度去输入========");
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        //定义一个二维数组
        int[][] saleArray2 = new int[4][3];
        for (int i = 0; i < saleArray2.length; i++) {
            for (int j = 0; j < saleArray2[i].length; j++) {
                System.out.print("请输入第" + (i + 1) + "季度的第" + (j + 1) + "月的销售额:");
                int saleNum = sc.nextInt();
                saleArray2[i][j] = saleNum;
            }
            System.out.println("第" + (i + 1) + "季度的销售额录入完毕!");
        }

        int sumSale1 = 0;
        for (int i = 0; i < saleArray2.length; i++) {
            for (int j = 0; j < saleArray2[i].length; j++) {
                sumSale1 += saleArray2[i][j];
            }
        }
        System.out.println("该公司一年的销售额为:" + sumSale1 + "万元。");


    }
}

打印杨辉三角形

/*
        打印杨辉三角形(行数可以键盘录入)
        1
        1 1
        1 2 1
        1 3 3  1
        1 4 6  4  1
        1 5 10 10 5 1
        ...

        分析规律:
            1、任意一行的第一列和最后一列都是1
            2、从第三行开始,每个数据都是它上一行本列与上一行前一列之和

        实现步骤:
            1、首先定义一个二维数组,行数为n,键盘录入n,行数与列数是相同的,也是n
            2、首先给二维数组中的每一个一维数组的第一列和最后一列赋值1
            3、按照我们发现的规律,给其他元素进行赋值
                从第三行开始,每个数据都是它上一行本列与上一行前一列之和
            4、遍历输出这个二维数组

 */
import java.util.Scanner;
public class Array2Test4 {
    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入您想要的杨辉三角的行数n:");
        int rowNum = sc.nextInt();

        //定义一个二维数组
        int[][] pascalTriangle = new int[rowNum][rowNum];

        //给二维数组中的每一个一维数组的第一列和最后一列赋值1
        //获取到每一个一维数组,通过索引给第一个元素和最后一个元素进行赋值
        for(int i=0;i<pascalTriangle.length;i++){
            pascalTriangle[i][0] = 1;
            pascalTriangle[i][i] = 1;
        }

        //按照我们发现的规律,给其他元素进行赋值
        //从第三行开始,每个数据都是它上一行本列与上一行前一列之和
        for(int i=2;i<pascalTriangle.length;i++){
            for(int j=1;j<=i-1;j++){
                pascalTriangle[i][j] = pascalTriangle[i-1][j] + pascalTriangle[i-1][j-1];
            }
        }
        System.out.println("该杨辉三角如下:");
        //遍历输出这个二维数组
        for(int i=0;i<pascalTriangle.length;i++){
            //针对获取到的每一个一维数组进行遍历
            for(int j=0;j<pascalTriangle[i].length;j++){
                if(j==0){
                    System.out.print(pascalTriangle[i][j]+"\t");
                }else if(pascalTriangle[i][j]==0){
                    continue;
                }else if(j==pascalTriangle[i].length-1){
                    System.out.print(pascalTriangle[i][j]);
                }else {
                    System.out.print(pascalTriangle[i][j]+"\t");
                }
            }
            System.out.println();
        }



    }
}
posted @ 2021-12-01 09:48  欧朋  阅读(317)  评论(0)    收藏  举报