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]