有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用Java创建数组数组

我正在尝试创建一个数组,这样我就可以有一个年数组,分解成一个12个月的数组,然后可以分解成31天。我不确定这个过程在java中是否可行,只是想找到一个好方法。谢谢


共 (3) 个答案

  1. # 1 楼答案

    您可以简单地创建一个二维(或更多)数组

    int[][] array = new int [5][12];
    

    这将是一个5年的数组,每个有12个月。你可以更进一步地制作一个三维数组(画一个立方体),甚至是一个四维数组(我让你想想:))

    请参阅以下帖子:Syntax for creating a two-dimensional array

  2. # 2 楼答案

    你必须更具体地说明你想做什么,或者你已经做了什么,或者其他任何事情。但是因为你问起了关于收藏的问题

    可以使用多维数组http://www.java2s.com/Tutorial/Java/0140__Collections/ArrayOfstringArrays.htm

    String[][] cartoons = {
        { "Flintstones", "Fred", "Wilma", "Pebbles", "Dino" },
        { "Rubbles", "Barney", "Betty", "Bam Bam" },
        { "Jetsons", "George", "Jane", "Elroy", "Judy", "Rosie", "Astro" },
        { "Scooby Doo Gang", "Scooby Doo", "Shaggy", "Velma", "Fred", "Daphne" } };
    

    或者查看ArrayList的API:https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html

    不过,你会这样使用它

     ArrayList<String[]> year= new ArrayList<>();
     String[] february = new String[28];
    
     year.add(february);
    

    尽管你需要更具体地说明你想做什么。因为使用集合来处理时态数据是一件愚蠢的差事

  3. # 3 楼答案

    作为一个数组的日期,你可以:

        int date [][][] = new int [2015][12][31];
    
        for(int y = 0; y < date.length;y++){
            for(int m = 0; m < date[0].length;m++){
                for(int d = 0; d < date[0][0].length;d++){
                    date[y][m][d] = d+1;
                }
            }
        }
    

    但为什么呢?要访问特定日期,需要索引,但如果知道索引,就已经知道日期。 此“日历”的某些值无效,例如11-31,02-30