注册 登录
编程论坛 JAVA论坛

怎么输出这样的啊?难受死。。=1

l923912586 发布于 2017-10-22 19:40, 2204 次点击
谢谢各位大佬了
只有本站会员才能查看附件,请 登录
7 回复
#2
kingpc5202017-10-23 08:25
看不见图片
#3
QsLinuxS2017-10-25 11:04
试试 格式 输出,java有格式化输出
#4
沙场点兵2017-12-16 16:17
\t    可以设置固定格式
#5
神vLinux飘飘2017-12-21 16:53
回复 楼主 l923912586
程序代码:

public class Test {

    private static String formatData(final int len,
                                     final String data) {
        return String.format("%"+len+"s",data);
    }

    public static void main(String... args) {

        final int MAX = 10;
        final int LEN = Integer.toString(MAX).length()*2 + 2 + Integer.toString(MAX*MAX).length();

        for (int r = 1; r <= MAX; r++) {
            for (int s = MAX - r + 1; s < MAX; s++) {
                System.out.print(formatData(LEN,"\t"));
            }
            for (int c = r; c <= MAX; c++) {
                final String sData = String.format("%d*%d=%d", r, c, (r * c));
                System.out.print(formatData(LEN,sData));
                System.out.print((c == MAX) ? '\n' : '\t');
            }
        }

    }

}


[此贴子已经被作者于2017-12-21 17:12编辑过]

#6
林月儿2017-12-21 23:56
程序代码:
package com.huawei.test;

public class Test {

    public static void main(String[] args) {
        for(int i = 1; i < 10; i++) {
            for(int j = 1; j < 10; j++) {
                System.out.printf(i <= j ? "%d*%d=%d\t" : "\t", i, j, i*j);
            }   
            System.out.println();
        }
    }
}
#7
aweihaoa2017-12-22 14:14
public class Test {

    private static String formatData(final int len,
                                     final String data) {
        return String.format("%"+len+"s",data);
    }

    public static void main(String... args) {

        final int MAX = 10;
        final int LEN = Integer.toString(MAX).length()*2 + 2 + Integer.toString(MAX*MAX).length();

        for (int r = 1; r <= MAX; r++) {
            for (int s = MAX - r + 1; s < MAX; s++) {
                System.out.print(formatData(LEN,"\t"));
            }
            for (int c = r; c <= MAX; c++) {
                final String sData = String.format("%d*%d=%d", r, c, (r * c));
                System.out.print(formatData(LEN,sData));
                System.out.print((c == MAX) ? '\n' : '\t');
            }
        }

    }

}
#8
神vLinux飘飘2017-12-22 18:51
以下是引用林月儿在2017-12-21 23:56:05的发言:

package com.huawei.test;

public class Test {

    public static void main(String[] args) {
        for(int i = 1; i < 10; i++) {
            for(int j = 1; j < 10; j++) {
                System.out.printf(i <= j ? "%d*%d=%d\t" : "\t", i, j, i*j);
            }   
            System.out.println();
        }
    }
}


明显不符合要求~~~
1