首页 > 解决方案 > 在同一行打印一个变量号,在这些变量号之后转到下一行

问题描述

我想让用户输入列长度。让我们说“4”。然后它应该像这样打印输出:

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

在 4 x 4 的正方形中。

我不希望我的代码接近我正在寻找的解决方案。这只是一个简单的打印输出行。但这需要一些必要的修改。

我该如何管理?


package MagicMatrix;

import java.util.Arrays;
import java.util.Scanner;

public class Matrix
{

    Scanner scanner = new Scanner(System.in);   

    public static void main(String[] args)
    {

        new Matrix();

    }

    public Matrix() 

    {

        System.out.println("Give column length of matrix\n");

        int var00 = 1;
        int columnlength = scanner.nextInt();

        int [][] matrix = new int [columnlength][columnlength];


        for (int i=0; i < columnlength; i++) 
        {
            for (int j=0; j < columnlength; j++ )
            {
                matrix[i][j] = var00;
                var00++;
            }
        }

        for (int i=0; i < colomnlength; i++) 
        {
            for (int j=0; j < colomnlength; j++ )
            {

            System.out.print(matrix[i][j]); // The big question!!!!

            }
        }
    }

}

标签: javaarraysprinting

解决方案


与您在问题中所说的相反,您实际上非常接近解决方案。你只需要用你的替换var1(我不知道它来自哪里),var00并且在内部循环之后(用 迭代的那个j)添加 aSystem.out.println()以在一行之后转到下一行。这在理论上应该可行。

for (int i=0; i < columnlength; i++) 
    {
        for (int j=0; j < columnlength; j++ )
        {
            matrix[i][j] = var00;
            var00++;
        }
    }

for (int i=0; i < columnlength; i++)
    {
        for (int j=0; j < columnlength; j++ )
            {
                System.out.print(matrix[i][j] + " "); 
            }
        System.out.println();
    }

编辑:我注意到你曾经调用它一次columnlengthcolomnlength你应该修复它。在这样做之后还要添加一个空格matrix[i][j],这样+ " "数字之间就会有一点空格


推荐阅读