Java二维输出矩阵

时间:2014-01-07 17:49:35

标签: java matrix

我希望你能帮助我,这是我的代码:

public static void main(String[]args)
{
        Scanner input = new Scanner(System.in);

        System.out.print("Type your text: ");
        String text = input.nextLine();

        int counter = text.length();
        if(text.length()> 16)
        {
            System.out.println("Error: input text is greater than 16 characters");
            System.exit(0);
        }
        else
        {
            while(counter < 16)
            {
                text = text.concat("x");
                counter++;
            }

            char[][] k = new char[4][4];

            //int push = 0;

                                int push;

                                for (int i = 0; i < k.length; i++) {
                                    push = i;
                                    for (int j = 0; j < k[i].length; j++) {
                                        k[i][j] = text.charAt(push);
                                        System.out.print(k[i][j] + " ");
                                        push = push + 4;
                                    }
                                    System.out.println();                
                                }
        }

}

现在当我输入:abcdefghijklmn时,输出为:

a e i m
b f j n
c g k x
d h l x

这是完美的,当我打印它看起来像矩阵。但现在我必须以其他方式打印:

aeim, bfjn, cgkx, dhlx

不是矩阵,而是排成一行(用逗号)

3 个答案:

答案 0 :(得分:1)

只需将System.out.println()替换为System.out.print(", ");,您不需要任何条件,也不要将字符用空格连接,希望它能正常工作

答案 1 :(得分:1)

只需将System.out.println();替换为System.out.print(", ");

即可

答案 2 :(得分:0)

在第一组嵌套for循环之后,在最后添加它:

for (int j = 0; j < k[i].length; j++) {
     for (int i = 0; i < k.length; i++) {
              if (j == k[i].length - 1 && i == k.length - 1)
                   System.out.print(k[i][j] + ".");
              else
                   System.out.print(k[i][j] + ", ");
     }
}

k当前分配值的方式,它将按以下顺序打印:

aeim, bfjn, cgkx, dhlx

通过反转嵌套的for循环并修改print命令,它将打印:

a, b, c, d, e, f, g, h, i, j, k, l, m, n, x, x.

当然,这是假设您要打印矩阵和列表。 如果没有,则反转初始循环并更改分配值的方式。