java 输入两个字符和一个数字,以三角形形式依次输出,初学者求解

java 输入两个字符和一个数字,以三角形形式依次输出,初学者求解

问题描述:

 

输出结果如下:

public static void main(String[] args) {
        String firstStr = "A";
        String secondStr = "B";
        int num = 10;

        // List result = new ArrayList<>(); 这个是集合之后你会学到
        // 这个二维数组学过吧
        String[][] result = new String[num + 1][];
        boolean falg = true;
        for (int i = 0; i < num; i++) {
            String[] v = new String[i + 1];
            for (int j = 0; j < i + 1; j++) {
                if (falg) {
                    v[j] = firstStr;
                    falg = false;
                } else {
                    v[j] = secondStr;
                    falg = true;
                }
                result[i] = v;
            }

            // 循环遍历打印结果
            for (int k = 0; k < result[i].length; k++) {
                System.out.print(result[i][k]);
            }
            // 换行
            System.out.println();
        }
    }

打印结果:
A
BA
BAB
ABAB
ABABA
BABABA
BABABAB
ABABABAB
ABABABABA
BABABABABA

这个是二维数组的,刚才的那个是集合

public static void main(String[] args) {
        String firstStr = "A";
        String secondStr = "B";
        int num = 10;

        List result = new ArrayList<>();
        boolean falg = true;
        for (int i = 0; i < num; i++) {
            List<String> v = new ArrayList<>(i + 1);
            for (int j = 0; j < i + 1; j++) {
                if (falg) {
                    v.add(firstStr);
                    falg = false;
                } else {
                    v.add(secondStr);
                    falg = true;
                }
            }
            result.add(v);
            System.out.println(v);
        }
    }

输出结果:
[A]
[B, A]
[B, A, B]
[A, B, A, B]
[A, B, A, B, A]
[B, A, B, A, B, A]
[B, A, B, A, B, A, B]
[A, B, A, B, A, B, A, B]
[A, B, A, B, A, B, A, B, A]
[B, A, B, A, B, A, B, A, B, A]