Java数组循环

Java数组循环,java,arrays,loops,Java,Arrays,Loops,我有一个问题,我正试图为我正在上课的课程回答(是的,这是一个家庭作业问题-一个额外的学分),但我不希望有人简单地给我答案。我更希望有人轻轻地指出我应该(或不应该)做什么来解决这个问题的正确方向 这个课程是我第一次接触Java,所以如果我的代码和理解让人觉得很糟糕,那就是原因,所以我提前道歉 问题是: 我需要创建一个3行5列3集的数组。我的输出类似于: 第1组: 01 2 3 4 56789 1011121314 第2组: 1516171819 20 21 22 23 24 等等等等 我能够计算出

我有一个问题,我正试图为我正在上课的课程回答(是的,这是一个家庭作业问题-一个额外的学分),但我不希望有人简单地给我答案。我更希望有人轻轻地指出我应该(或不应该)做什么来解决这个问题的正确方向

这个课程是我第一次接触Java,所以如果我的代码和理解让人觉得很糟糕,那就是原因,所以我提前道歉

问题是:

我需要创建一个3行5列3集的数组。我的输出类似于:

第1组:

01 2 3 4

56789

1011121314

第2组:

1516171819

20 21 22 23 24

等等等等

我能够计算出的代码(到目前为止)产生了我需要的3个集合的整体范围,0-44,但我不确定如何格式化这些集合,所以看起来像上面的一样。当我运行代码时,我只有一个从0到44的长列表

有没有人能给我指出一个正确的方向,我应该做些什么来把这些列表分成我需要的行/列,而不是简单地给我答案?我想说的是,我是自己想出来的,只是需要问一个去那里的小方向

我的代码:

public static void main(String[] args) {

    int list[][][] = new int [3][5][3]; //create rows, column, units (buildings) array structure.
    int i,j,k; //assign variables for row, column and unit (building).
    int ctr = 0; //set counter.

    //create array
    for (i=0; i<3; i++)
    for (j=0; j<5; j++)
    for (k=0; k<3; k++)

        {list[i][j][k] = ctr++;}


    for (i=0; i<3; i++)
    for (j=0; j<5; j++)
    for (k=0; k<3; k++)

    //Format array

        {System.out.println(list[i][j][k] + " ");}
}
publicstaticvoidmain(字符串[]args){
int list[][]=新建int[3][5][3];//创建行、列、单位(建筑)数组结构。
int i,j,k;//为行、列和单位(建筑)分配变量。
int ctr=0;//设置计数器。
//创建数组

对于(i=0;i您需要使用
System.out.println()
在这两行之间打印新行。另外,
println()
总是在字符串后面打印新行(就像按Enter键一样)。还有
System.out.print()
,它不会在字符串后面放新行

想想你什么时候需要新行。在每一行或每一列之后?也许在每一组后面加一行,以形成一个空行

编辑:我已经正确地缩进了你的代码。这样会更容易看到在哪里添加代码

int list[][][] = new int [3][5][3]; //create rows, column, units (buildings) array structure.
int i,j,k; //assign variables for row, column and unit (building).
int ctr = 0; //set counter.

//create array
for (i=0; i<3; i++) {
    for (j=0; j<5; j++) {
        for (k=0; k<3; k++) {
            list[i][j][k] = ctr++;
        }
    }
}


for (i=0; i<3; i++) { //Prints 3 sections.
    for (j=0; j<5; j++) { //Prints 5 rows.
        for (k=0; k<3; k++) { //Prints 3 columns.
            //Format array
            System.out.println(list[i][j][k] + " ");
        }
    }
}
int list[][]=新建int[3][5][3];//创建行、列、单位(建筑)数组结构。
int i,j,k;//为行、列和单位(建筑)分配变量。
int ctr=0;//设置计数器。
//创建数组

对于(i=0;i首先,一些缩进:

public static void main(String[] args) {

    int list[][][] = new int [3][5][3]; //create rows, column, units (buildings) array structure.
    int i,j,k; //assign variables for row, column and unit (building).
    int ctr = 0; //set counter.

    //create array
    for (i=0; i<3; i++) {
        for (j=0; j<5; j++) {
            for (k=0; k<3; k++) {
                list[i][j][k] = ctr++;
            }
        }
    }


    for (i=0; i<3; i++) {
        for (j=0; j<5; j++) {
            for (k=0; k<3; k++) {
                //Format array
                System.out.println(list[i][j][k] + " ");
            }
        }
    }
}
publicstaticvoidmain(字符串[]args){
int list[][]=新建int[3][5][3];//创建行、列、单位(建筑)数组结构。
int i,j,k;//为行、列和单位(建筑)分配变量。
int ctr=0;//设置计数器。
//创建数组
对于(i=0;i
  • 如果您使用有意义的变量,如行、列、集,而不是i、j、k,这将有助于您(和读者)理解您的逻辑

  • 你的格式很…有趣!还不错,这不是人们通常用Java思考的方式。我可以理解你写的东西,但我可以告诉你你用的是另一种语言

  • 我将您的代码粘贴到Eclipse并进行了自动格式化(Ctrl-Shift-F),结果如下:

        public static void main(String[] args) {
    
            int list[][][] = new int[3][5][3]; // create rows, column, units
                                                // (buildings) array structure.
            int i, j, k; // assign variables for row, column and unit (building).
            int ctr = 0; // set counter.
    
            // create array
            for (i = 0; i < 3; i++)
                for (j = 0; j < 5; j++)
                    for (k = 0; k < 3; k++)
    
                    {
                        list[i][j][k] = ctr++;
                    }
    
            for (i = 0; i < 3; i++)
                for (j = 0; j < 5; j++)
                    for (k = 0; k < 3; k++)
    
                    // Format array
    
                    {
                        System.out.println(list[i][j][k] + " ");
                    }
        }
    
    publicstaticvoidmain(字符串[]args){
    int list[][]=新建int[3][5][3];//创建行、列、单位
    //(建筑物)阵列结构。
    int i,j,k;//为行、列和单位(建筑)分配变量。
    int ctr=0;//设置计数器。
    //创建数组
    对于(i=0;i<3;i++)
    对于(j=0;j<5;j++)
    对于(k=0;k<3;k++)
    {
    列表[i][j][k]=ctr++;
    }
    对于(i=0;i<3;i++)
    对于(j=0;j<5;j++)
    对于(k=0;k<3;k++)
    //格式数组
    {
    System.out.println(list[i][j][k]+“”);
    }
    }
    
    我不想吹毛求疵,但这是朝着正确方向迈出的必要一步,在你能给这段代码增加一点复杂性之前。另外,你的教授可能也期望类似的格式

  • 您可能知道,println添加了一个换行符,而print没有。因此,在最一般的情况下,第一步是使用print,而不是println;并且只有在您实际需要移动到新行时才使用println。既然您只要求一个提示,我就不提了。祝您好运

  • 尝试使用
    System.out.print(yourString)
    ,并使用for循环作用域(必须添加括号),添加伪字符串。
    使用println()只有当你完成行的时候。

    请使用更好的缩进,这通常是不好的。另外,对于循环和条件分支,总是使用括号…你会感谢自己,如果代码更容易阅读,那么代码更容易维护。我会记住这一点,正如我说过的,这确实是我的第一次接触,如前所述,如果我的代码很糟糕(即使在外表上)我很抱歉。你的观点已经被注意到了,谢谢。不要道歉,每个人都必须从某个地方开始。你的帖子实际上比第一篇(甚至第二篇、第三篇等)的很多帖子的格式都要好我写这篇文章只是为了提醒大家,让它变得漂亮是值得的。继续回答好问题!都很好:)我很感谢大家的提醒。谢谢!感谢大家提供有关Eclipse中自动格式化的提示,这就是我正在使用的,而且我不知道如何使用,所以谢谢大家!对于我的变量,你是对的,我应该更具描述性。我们通过讲师的讲座学到的方法是使用I作为“主要变量”这可能不是最好的现实场景,我只是按照讲师在他的例子和讲座中使用的方法来做。你对我的格式设置是正确的,我在SQL中做了很多工作,完全不习惯Java格式(显然,哈哈)。一般的经验法则是,变量的作用域越短,名称越短。例如,您可能永远不会
        public static void main(String[] args) {
    
            int list[][][] = new int[3][5][3]; // create rows, column, units
                                                // (buildings) array structure.
            int i, j, k; // assign variables for row, column and unit (building).
            int ctr = 0; // set counter.
    
            // create array
            for (i = 0; i < 3; i++)
                for (j = 0; j < 5; j++)
                    for (k = 0; k < 3; k++)
    
                    {
                        list[i][j][k] = ctr++;
                    }
    
            for (i = 0; i < 3; i++)
                for (j = 0; j < 5; j++)
                    for (k = 0; k < 3; k++)
    
                    // Format array
    
                    {
                        System.out.println(list[i][j][k] + " ");
                    }
        }