多维数组

上面这张表格实际上是一个n行*6列的二维数组。 多维数组的语法: double[] arrayName = double[n]; // (一维)数组,数组长度为n double[][] dimensionArrayName = double[m][n]; // 二维数...


上面这张表格实际上是一个n行*6列的二维数组。

多维数组的语法:

double[] arrayName = double[n]; // (一维)数组,数组长度为n
double[][] dimensionArrayName = double[m][n]; // 二维数组(m行 * n列)
double[][][] threeDimensionArrayName = double[x][y][z] // 三维数组

注意:每一个中括号表示一个维度。

习题

设计一个程序,可以保存n年的各科成绩,可以对这些年的成绩进行查询。
测试用例:保存3年的成绩,查询第三年的生物成绩。

import java.util.Scanner;

public class Example2 {
    public static void main(String[] args) {
        // 为每一门课程设置下标
        int ChineseIndex = 0;
        int MathIndex = 1;
        int EnglishIndex = 2;
        int PhysicalIndex = 3;
        int ChemistryIndex = 4;
        int BiologyIndex = 5;

        // 创建一个数组保存每一门课的名称
        String[] names = new String[6];
        names[ChineseIndex] = "语文";
        names[MathIndex] = "数学";
        names[EnglishIndex] = "英语";
        names[PhysicalIndex] = "物理";
        names[ChemistryIndex] = "化学";
        names[BiologyIndex] = "生物";

        Scanner in = new Scanner(System.in);
        System.out.println("存放几年的成绩呢?");
        int years; // 存放成绩多少年的年数
        years = in.nextInt();

        // 创建一个二维数组来存放每门课的成绩 行表示年数,列表示科目数
        double[][] scores = new double[years][names.length];

        // 随机生成80-100的成绩放入二维数组中
        for (int i = 0; i < years; i++) {
            for (int j = 0; j < names.length; j++) {
                scores[i][j] = 80 + Math.random() * 20;
                System.out.println("第" + (i + 1) + "年的" + names[j] + "成绩为:" + scores[i][j]);
            }
        }

        // 查询某一年的某一课程的成绩
        System.out.println("您要查询哪一年的成绩呢?");
        int whichYear = in.nextInt() - 1;
        System.out.println("哪一门成绩呢?");
        int whichLesson = in.nextInt() - 1;

        System.out.println("第" + (whichYear + 1) + "年的" + names[whichLesson] + "成绩为" + scores[whichYear][whichLesson]);
    }
}


  • 发表于 2020-01-21 11:00
  • 阅读 ( 60 )
  • 分类:网络文章

条评论

请先 登录 后评论
不写代码的码农
小编

篇文章

作家榜 »

  1. 小编 文章
返回顶部
部分文章转自于网络,若有侵权请联系我们删除